Puisque Rust est apparemment en concurrence avec Go en tant que "language compilé généraliste qui va remplacer C++" j'ai regardé les stats OpenHub de Go.
Go se focalise sur l'accessibilité, la maintenance du code et la concurrence en abaissant drastiquement les concepts à maîtriser. C'est un langage épuré, qui se veut utile dans 80% des cas en laissant volontairement tomber les 20% restant (chiffres pif-O-métrique). Il remplace NodeJS, Python, Ruby, Lua. L'atout de ce langage vient de la bonne imbrication de peu de concepts le rendant accessible et maintenable dans bien des cas (notamment quand tu as des dizaines de dev qui passent sur ton code de 200k SLOC sur 10 ans comme chez Google). Autre atout, sa simplicité sémantique permet le développement d'outils d'analyse de code (cf Vet, Lint, Oracle, Types en train d'être développés).
Rust se focalise sur la robustesse de code et la vitesse. Il intègre donc des concepts avancés le rendant bien moins accessible que Go, mais aussi plus intéressant dans des cas particuliers (bas niveau, embarqué, moteur de jeux, etc). Il remplace C/C++, Scala, Haskell, OCaml. Qui peut le plus peut le moins, un codeur Rust pourra donc utiliser son langage partout ou Go est possible.
L'objectif de Rust est donc bien plus ambitieux mais aussi bien plus difficile à atteindre. J'attends beaucoup de Rust pour cette raison : peut on en 2014 faire un langage «accessible» qui produit du code robuste (ce que ni Haskell, ni Scala, ni OCaml n'ont réussi à faire par exemple) ? Je reste curieux de leur réussite (que j’espère) mais sans trop croire à un résultat exceptionnel.
Le point intéressant est que peut potentiellement, on aura dans 10 ans 2 langages de programmation majeurs à la place de 10 :).
Note : J'utilise le mot remplacer dans le sens "peut s'utiliser à la place de" (hors bien sur des questions de librairies).
[^] # Re: Rust vs Go
Posté par Sébastien Douche . En réponse à la dépêche Rust 0.12 : non, pas le jeu vidéo, le langage !. Évalué à 6.
Puisque Rust est apparemment en concurrence avec Go en tant que "language compilé généraliste qui va remplacer C++" j'ai regardé les stats OpenHub de Go.
Go se focalise sur l'accessibilité, la maintenance du code et la concurrence en abaissant drastiquement les concepts à maîtriser. C'est un langage épuré, qui se veut utile dans 80% des cas en laissant volontairement tomber les 20% restant (chiffres pif-O-métrique). Il remplace NodeJS, Python, Ruby, Lua. L'atout de ce langage vient de la bonne imbrication de peu de concepts le rendant accessible et maintenable dans bien des cas (notamment quand tu as des dizaines de dev qui passent sur ton code de 200k SLOC sur 10 ans comme chez Google). Autre atout, sa simplicité sémantique permet le développement d'outils d'analyse de code (cf Vet, Lint, Oracle, Types en train d'être développés).
Rust se focalise sur la robustesse de code et la vitesse. Il intègre donc des concepts avancés le rendant bien moins accessible que Go, mais aussi plus intéressant dans des cas particuliers (bas niveau, embarqué, moteur de jeux, etc). Il remplace C/C++, Scala, Haskell, OCaml. Qui peut le plus peut le moins, un codeur Rust pourra donc utiliser son langage partout ou Go est possible.
L'objectif de Rust est donc bien plus ambitieux mais aussi bien plus difficile à atteindre. J'attends beaucoup de Rust pour cette raison : peut on en 2014 faire un langage «accessible» qui produit du code robuste (ce que ni Haskell, ni Scala, ni OCaml n'ont réussi à faire par exemple) ? Je reste curieux de leur réussite (que j’espère) mais sans trop croire à un résultat exceptionnel.
Le point intéressant est que peut potentiellement, on aura dans 10 ans 2 langages de programmation majeurs à la place de 10 :).
Note : J'utilise le mot remplacer dans le sens "peut s'utiliser à la place de" (hors bien sur des questions de librairies).