Rust

Rust est un langage de programmation qui refuse purement et simplement 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. On le trouve dans les systèmes d'exploitation, les moteurs de navigateurs et 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, et cette sévérité est le but.

Pour comprendre pourquoi, il suffit d'une idée sur le fonctionnement d'un ordinateur : un programme demande de la mémoire, s'en sert, puis la rend. Les ennuis commencent quand il continue d'utiliser un morceau déjà rendu, ou qu'il écrit au-delà de l'espace donné. Ces deux erreurs sont à l'origine de la plupart des failles graves de ce type de logiciel, et ce n'est pas une impression. Microsoft et Google ont compté les bugs de leur propre code et sont arrivés au même chiffre, près de sept sur dix.

La réponse de Rust est rare, car 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, donc si votre code peut toucher quelque chose qui n'existe plus, la compilation s'arrête. 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, et ce mélange le fait apparaître dans les projets sensibles côté sécurité.

Voici 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, donc pour un site de réservation ou un magasin le calcul est mauvais. 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 d'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 dans une application Android et dans une application iPhone. Les règles vivent alors à un seul endroit au lieu de deux. Linkysoft ne le propose que si cette logique est vraiment difficile, car chaque langage en plus est une compétence à entretenir dans l'équipe. Si un prestataire vous propose Rust, demandez ce qui casse quand cette partie tombe, et une bonne réponse cite quelque chose de concret. Quand la réponse 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 ?
Plus difficile que la moyenne au début. Le compilateur refuse du code que d'autres langages acceptent, et il faut quelques semaines avant que ses règles paraissent normales.
Mon logiciel de gestion doit-il être écrit en Rust ?
En général non. Un logiciel de réservation, de magasin ou de clinique se construit plus vite et moins cher dans un langage web courant, et l'avantage de Rust ne s'y voit pas.
Rust rend-il mon logiciel sécurisé ?
Il supprime une famille de bugs, ceux liés à la mémoire. Il ne fait rien contre un mot de passe faible, une permission mal réglée ou une base laissée ouverte, d'où partent la plupart des intrusions.
Rust peut-il fonctionner avec le code que nous avons déjà ?
Oui. On l'ajoute d'habitude morceau par morceau, à côté du programme existant, pour protéger la partie risquée sans tout réécrire.
Les développeurs Rust coûtent-ils cher ?
Ils coûtent plus cher et sont moins nombreux. Demandez à tout prestataire qui entretiendra ce code dans trois ans, cette réponse compte plus que le prix du développement.

Vous ne voyez toujours pas comment cela s'applique à votre projet ?

Dites-nous ce que vous construisez et nous vous répondrons simplement.