Maison > Java > javaDidacticiel > Programmation Shift-gauche (rouille comme étude de cas)

Programmation Shift-gauche (rouille comme étude de cas)

DDD
Libérer: 2024-12-31 13:02:09
original
913 Les gens l'ont consulté

Shift-left programming (rust as a case study)

La programmation Shift-gauche consiste à détecter les problèmes potentiels le plus tôt possible dans le cycle de vie du développement logiciel. Si « tests avec décalage à gauche » signifie rapprocher les tests du début du développement, « programmation avec décalage à gauche » signifie choisir des outils et des langages qui détectent les bogues pendant que vous écrivez le code—et non des heures, des jours, ou des mois plus tard quand il est trop tard et que votre code est déjà en production, faisant paniquer tout le monde à 2 heures du matin

Les langages dynamiques comme ? Python, ? Perl et ☕ JavaScript sont merveilleusement flexibles. Mais une grande flexibilité s'accompagne... de grosses erreurs d'exécution. Ces langues sont comme cet ami qui dit : « Bien sûr, je m'en occupe ! » mais admet seulement qu’ils n’ont aucune idée de ce qui se passe alors que vous êtes déjà à mi-chemin du désastre.

D'un autre côté, les langages compilés comme ? C, C , ☕ Java et Rust sont plus stricts et beaucoup moins indulgents. Ils sont les parents hélicoptères des langages de programmation : ils ne vous laisseront même pas sortir tant que votre chambre (code) n'est pas propre. Par exemple :

  • En Perl, vous pouvez ajouter "42" (une chaîne) à 42 (un nombre), et il haussera les épaules et dira : "Peu importe, les mathématiques sont des mathématiques."
  • En Python, il fera une crise de colère, mais seulement au moment de l'exécution lorsqu'il se rend compte que vous essayez d'ajouter des pommes et des oranges.
  • En C ou Java, le compilateur ne vous laissera exécuter le code si vous essayez de mélanger des types comme ça.
  • Et Rouille ? La rouille est à un tout autre niveau. C’est le professeur ultra-strict qui vous rend votre code avec un stylo rouge avant même que vous puissiez le rendre.

Rust ne se contente pas de détecter les incompatibilités de types : il surveille pratiquement l'ensemble de votre processus de gestion de la mémoire. Oubliez les indicateurs suspendus ou les conditions de course ; Rust ne vous laissera même pas compiler du code présentant des problèmes potentiels de sécurité de la mémoire. Tandis que C pourrait vous jeter dans le grand bain avec un "bonne chance !" vague, Rust est là et dit : "Attendez ! Vous avez oublié vos flotteurs."

Voici le problème, cependant : La rouille ne vous sauvera pas de toutes erreurs. Cela ne vous empêchera pas d'ajouter alors que vous vouliez soustraire ou d'écrire un algorithme qui résout complètement le mauvais problème. Mais cela vous protégera des coupables les plus notoires de pannes catastrophiques, comme les déréférencements de pointeurs nuls, les dépassements de tampon ou les fuites de mémoire.

Alors, qu'est-ce qui fait de Rust le langage de programmation ultime avec décalage à gauche ? Il vous permet d'écrire du code de bas niveau rapide et efficace (comme ? et C ) tout en fournissant des garde-fous qui empêchent les types d'erreurs qui vous coûteraient autrement des semaines de débogage - ou pire, une panne de production pendant un vente de vacances. Avec Rust, vous passez moins de temps à lutter contre les bugs ? et plus de fonctionnalités d'expédition dans le temps.

Et le meilleur ? La rouille n’est pas seulement une question de sécurité. C’est une question de confiance. Vous envoyez un code dont vous savez qu'il ne vous trahira pas. C'est comme avoir un chien de garde pour gérer votre mémoire : amical, protecteur et prêt à aboyer contre tout insecte essayant de se faufiler.

En bref : Rust ne se contente pas de déplacer la programmation vers la gauche, il la met sur l'autoroute.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal