Il est vrai que C++ aborde déjà les problèmes que souhaitent résoudre Go et Rust mais la différence majeur étant que C++ n'a pas été pensé dans cette optique au départ, c'est pourquoi il est plus facile de faire de la programmation concurrente (structure de données, gestion mémoire et synchronisation) avec ces langages.
Certes il est possible de faire de la programmation concurrente, fonctionnelle, etc... dans à peu près n'importe quel langage mais ces options ont été pensé dans cette optique contrairement à d'autres (PHP pour le web, Python pour l'analyse scientifique, Perl pour la gestion de chaînes, etc...)
La vrai force de Rust, à mon avis, est son système de typage qui lui permet de prévenir un grand nombre de problème de gestion mémoire/accès concurrent qui sont donc corrigés lors de la compilation plutôt qu'après du debug (debuggé une application avec accès concurrents à la mémoire est particulièrement horrible, de nombreux crackme se basent sur cette technique).
L'inconvénient, je pense, sera une courbe d'apprentissage un peu plus longue que d'autres langages puisqu'il faut bien comprendre ses erreurs pour pouvoir les corriger avec une analyse statique. On peut faire l'analogie avec le reversing, l'analyse statique est bien plus complexe qu'une analyse en debug puisque que l'on n'a pas l'état de la machine à l'instant t.
Bref Rust m'apparaît comme un langage avec un fort potentiel pour de la programmation concurrentielle grâce à son typage de données très fort.







Répondre avec citation





















Pas de questions techniques par MP ! Le forum est là pour ça...
Partager