Les performances du programme final ne sont pas le seul critère à optimiser quand on programme. Les gens écrivent dans d’autres langages pour des raisons variées, typiquement "c’est plus facile/rapide d’écrire le programme que je veux". Par exemple:
-
Peut-être que les autres langages sont plus "faciles" à utiliser pour eux pour ce besoin. Ils peuvent écrire en quelques lignes, ou en quelques minutes, quelque chose qui serait délicat à faire en C++. Ou alors ils n’ont pas envie/besoin de réfléchir à certains aspects (la gestion mémoire par exemple) que C++/Rust les force à considérer.
-
Peut-être que les gens ont trouvé d’autres langages plus faciles à apprendre et donc les maîtrisent mieux.
-
Peut-être que les gens ont l’impression qu’ils font moins d’erreurs de programmation (que ces erreurs soient ensuite trouvées par un vérificateur de code, par exemple le compilateur, ou ensuite à l’exécution du programme) dans un autre langage, et qu’ils sont donc au final plus productifs pour obtenir le code qu’ils voulaient.
-
Peut-être tout simplement qu’ils ont trouvé de bons outils bien documentés pour répondre à leur besoin dans un autre langage.
Les gens qui utilisent C++ à grande échelle dans l’industrie se plaignent beaucoup des temps de compilation énorme, des messages d’erreur incompréhensible, du fait que personne n’utilise le même fragment du langage et qu’il est donc difficile de comprendre le code des autres, du fait que les erreurs dans les templates ne sont signalées que quand on les utilise, pas quand on les écrit, etc.
Pour Rust, il faut lire 20 pages de documentation pour comprendre comment implémenter une liste doublement chaînée.
Si la question de savoir pourquoi les langages sont utilisés en pratique vous intéresse, je vous invite à aller découvrir le projet scientifique Socio-PLT, qui visait à utiliser des outils de sociologie pour comprendre l’utilisation des langages.