Rust
Un langage de programmation qui refuse de construire votre programme s'il contient les erreurs de mémoire à l'origine des failles les plus graves.
Également appelé langage Rust Rust lang langage systeme
Définition
Rust est un langage de programmation pour les logiciels qui n'ont pas le droit de tomber en panne. Les systèmes d'exploitation, les moteurs de navigateurs, les petites briques qui tournent sous tout le reste pendant des années sans que personne y touche. Il est rapide, et sévère d'une façon qui surprend ceux qui viennent d'autres langages.
Pour comprendre pourquoi il existe, il suffit d'une idée sur le fonctionnement d'un ordinateur. Un programme demande un morceau de mémoire, s'en sert, puis le rend. Les ennuis commencent quand il continue d'utiliser un morceau déjà rendu, ou qu'il écrit au-delà de l'espace qu'on lui a donné. Ces deux petites erreurs sont à l'origine de la plupart des failles graves trouvées dans ce type de logiciel. Microsoft et Google ont compté leurs propres bugs et sont arrivés au même ordre de grandeur, près de sept sur dix.
La réponse de Rust est inhabituelle. Il n'attrape pas l'erreur pendant que le programme tourne. Il refuse tout simplement de le construire. Le compilateur suit qui possède chaque morceau de mémoire et combien de temps il vit, et si votre code peut toucher quelque chose qui n'existe plus, la compilation s'arrête avec un message. Les autres langages sûrs emploient un nettoyeur qui tourne à côté du programme et l'interrompt de temps en temps. Rust n'en a pas, il reste donc assez rapide pour les travaux où une pause est interdite. C'est ce mélange qui le fait apparaître dans les projets sensibles côté sécurité.
Voici maintenant la partie dont personne ne parle. Écrire du Rust est plus lent, et les deux premiers mois ressemblent à une dispute avec le compilateur. Les développeurs qui le maîtrisent sont plus rares et plus chers. Pour un site de réservation ou un logiciel de magasin, le calcul est mauvais, et un langage d'application web ordinaire finira plus vite et pour moins cher. Rust mérite son prix dans un espace étroit : un appareil difficile à mettre à jour, une partie qui ouvre des fichiers envoyés par des inconnus, un service attaqué en permanence.
Un usage touche quand même les produits ordinaires. Une logique compliquée écrite une seule fois en Rust peut être intégrée à la fois dans une application Android et dans une application iPhone, donc les règles vivent à un seul endroit au lieu de deux. Linkysoft ne le propose que si cette logique est vraiment difficile, car cela ajoute un langage à l'équipe. Si un prestataire vous propose Rust, demandez ce qui casse quand cette partie tombe. Une bonne réponse cite quelque chose de concret. Si elle reste floue, Linkysoft préfère mettre l'argent dans une application mobile classique et un vrai audit de sécurité.
Questions sur Rust
Rust est-il difficile à apprendre ?
Mon logiciel de gestion doit-il être écrit en Rust ?
Rust rend-il mon logiciel sécurisé ?
Rust peut-il fonctionner avec le code que nous avons déjà ?
Les développeurs Rust coûtent-ils cher ?
Vous ne voyez toujours pas comment cela s'applique à votre projet ?
Dites-nous ce que vous construisez et nous vous répondrons simplement.