Java n'est pas du tout sur le même segment que C/C++. Il y avait un manque qui a été comblé. Rust comble quel manque en terme de marché ? Aucun.
Faux, on a clairement un trou dans le segment de marché correspondant à un langage de programmation avec des garanties de sureté (permettant de garantir l’absence de faille de sécurité type buffer-overflow et autre), orienté système (compilation native, runtime petit et pas de garbage-collector) et permettant de faire des abstractions "zero-cost" (voir la définition de Bjarne Stroustrup).
En client de ce segment de marché on peut facilement trouver pas mal de monde, qui d'ailleurs utilisent majoritairement et actuellement C++. Par exemple, l'écriture de moteur de jeux video, les appli grand publique genre navigateur web, tout ceux qui font de l'embarqué (d'autant plus avec des contraintes temps réel).
Et il n'y a aucun langage existant (à ma connaissance) qui permette de garantir la sureté de l'utilisation mémoire en présence d'allocation sur le tas (sans garbage collector, évidement). Par exemple, ni C++, ni Ada, ni D, ni Go ne le permettent (dans le cas de figure général évidement).
L'autre propriété innovante de Rust, c'est de garantir l’absence de data-race dans la programmation multi-threadé. Les seuls autres langages permettant de faire (à ma connaissance) sont dans le genre de Erlang ou Haskell et pour le coup ce sont des langages avec un gros runtime (voir une machine virtuelle) et laissant très peu de contrôle sur le programme compilé.
[^] # Re: «Il concurrence donc directement les langages C et C++.»
Posté par Joris R (site web personnel, Mastodon) . En réponse à la dépêche Rust 1.0, entrée dans la période stable. Évalué à 5.
Faux, on a clairement un trou dans le segment de marché correspondant à un langage de programmation avec des garanties de sureté (permettant de garantir l’absence de faille de sécurité type buffer-overflow et autre), orienté système (compilation native, runtime petit et pas de garbage-collector) et permettant de faire des abstractions "zero-cost" (voir la définition de Bjarne Stroustrup).
En client de ce segment de marché on peut facilement trouver pas mal de monde, qui d'ailleurs utilisent majoritairement et actuellement C++. Par exemple, l'écriture de moteur de jeux video, les appli grand publique genre navigateur web, tout ceux qui font de l'embarqué (d'autant plus avec des contraintes temps réel).
Et il n'y a aucun langage existant (à ma connaissance) qui permette de garantir la sureté de l'utilisation mémoire en présence d'allocation sur le tas (sans garbage collector, évidement). Par exemple, ni C++, ni Ada, ni D, ni Go ne le permettent (dans le cas de figure général évidement).
L'autre propriété innovante de Rust, c'est de garantir l’absence de data-race dans la programmation multi-threadé. Les seuls autres langages permettant de faire (à ma connaissance) sont dans le genre de Erlang ou Haskell et pour le coup ce sont des langages avec un gros runtime (voir une machine virtuelle) et laissant très peu de contrôle sur le programme compilé.