La popularité des différents langages de programmation a évolué au fil des ans, chaque langage offrant ses propres forces et limites. Dans cet article, nous allons nous intéresser de plus près à certains des langages les plus populaires et à leur compatibilité avec notre PaaS, notamment Go, Ruby, Python, et qui pourrait oublier la star du spectacle, Rust.
Tout d'abord, avec sa faible barrière à l'entrée, son modèle de concurrence très simple et, peut-être plus important encore, sa chaîne de construction et son modèle de distribution très simples (sous la forme d'un binaire unique), Go a supplanté un grand nombre d'autres langages lorsqu'il est apparu sur la scène.
Pour ceux qui s'en souviennent, le DevOps était autrefois un monde Ruby et Python. Aujourd'hui, la plupart des outils DevOps sont écrits en Go, y compris la quasi-totalité des conteneurs et des runtimes de conteneurs, ainsi que de nombreux reverse proxies et API gateways. Sans oublier que Go a probablement déplacé des choses qui s'exécutaient auparavant sur la JVM, rien ne pouvait l'arrêter.
Ensuite, grâce à la puissance de la marque (et au soutien réel) de Google, Go est devenu un langage de programmation populaire et répandu, et est maintenant devenu un langage d'application web très productif. Beaucoup de choses qui étaient écrites en PHP sont aujourd'hui des projets en Go - une forte hausse de popularité qui rappelle la croissance fulgurante de l'époque glorieuse de Ruby.
En revanche, le langage de programmation Rust, né au sein de Mozilla mais désormais autonome, a connu une montée en puissance beaucoup plus lente - ressemblant davantage à la croissance de Python - lente et régulière. Cela pourrait s'expliquer par le fait que la barrière à l'entrée est manifestement beaucoup plus élevée que celle de Go, puisqu'il faut apprendre plusieurs nouveaux concepts. Et en tant que langage de programmation, il expose à la fois des abstractions de haut niveau mais aussi plus de détails de bas niveau que Go.
Au cours des dernières années, Rust a commencé à s'imposer comme "l'autre" langage de programmation système de facto, et a même lentement fait son entrée dans le noyau Linux. Son outillage et son écosystème se sont développés et sont devenus beaucoup plus accessibles. Et de tous les langages de programmation compilés, il possède les messages d'erreur à la compilation les plus polis et les plus utiles - et qui n'aime pas cela ?
Mais maintenant nous commençons à voir Rust dans la nature comme un langage de programmation raisonnable pour les serveurs web avec des frameworks comme Actix Web, Rocket, et Axum qui gagnent en popularité. Et il y a des choses très intéressantes qui se passent autour de Rust utilisé pour compiler des choses en WebAssembly (WASM) - voir par exemple MailCrab un serveur de test de courrier très cool.
Il s'avère que Rust est un très bon candidat pour construire des serveurs backend de haute performance, et pour les construire et les faire tourner sur votre PaaS préféré, bien sûr. Nous avons même ajouté WASM comme cible de compilation pour faire bonne mesure.
Maintenant que Rust est supporté par Upsun aux côtés d'autres langages importants, tels que PHP, Node.js, Python, Go, et bien d'autres, vouspouvez commencer à l'utiliser immédiatement.
Jetez un coup d'œil à la façon de démarrer avec Rust sur Upsun ci-dessous :
applications : app : type : 'rust:1' hooks : build : cargo build --release web : commands : start : './target/release/hello'
Ne vous inquiétez pas, vous n'avez pas besoin de fournir la version complète de Rust pour commencer. Le "1" signifie ici que vous obtiendrez tous les mineurs et correctifs compatibles des versions 1.X, en commençant par la version actuelle, 1.74.0. En tant que langage de programmation moderne, Rust est livré avec un gestionnaire de paquets, Cargo, que vous pouvez utiliser dans le crochet de construction.
La cible wasm32-unknown-unknown
peut être utilisée au moment de la construction pour générer un paquetage WASM. Vous pouvez commencer avec la commande de construction suivante.
cargo build --target wasm32-unknown-unknown --release
Vous pouvez également trouver plus de matériel sur rustwasm.github.io.
Le support de Rust est actuellement en version bêta, ce qui signifie que nous sommes à la recherche de nombreux retours d'expérience. N'hésitez donc pas à nous faire part de vos succès, de vos échecs, de vos suggestions et de vos idées de fonctionnalités.
Vous pouvez vous connecter avec nous dans notre Communauté. Pour l'instant, restez à l'écoute pour d'autres mises à jour passionnantes à venir !