Bonjour,
Pour répondre à la question, selon moi comme cela a été dit le C++ est encore là pour 2 raisons (selon moi), sa maturité et son historique.
Les nouveaux langages qui se présente comme les sauveurs (D, Haxe, Go...) même s'il propose d'importer des API C ce n'est pas suffisant.
Par exemple à titre personnel je travail dans les jeux vidéo, personne dans le jeux vidéo ne switch, ces langages n'ont pas de compilateur pour les consoles (Unity 3D triche), de la même manière ceux qui font de l'embarqué ont besoin d'un compilateur pour target spécifique.
Et 90% des problèmes présentés ici de tel ou tel langage sont réglés par code. L'allocation, et bien en générale il faut recoder son propre allocateur en fonction de la plateforme (raison de perf, éviter la défragmentation mémoire, les jumps...), les RTTI sont utilisés seulement dans les parties haut niveau du code (gameplay) et souvent recoder on n'utilise pas le RTTI C++ natif, on choisit les classes dont sur lesquelles on accepte le RTTI...
Ces nouveaux langages sauveur ont les trouves cool seulement parce qu'ils sont jeunes et peu utilisés et la conséquence de ça ce n'est pas qu'ils n'ont aucun problème c'est juste qu'on n'a pas encore eu le temps de les trouver. Contrairement au C++ qui a des années de vie et des utilisations dans de très nombreux domaine. Finance (HFT...), Jeux Vidéo...
Donc on a pu le roder et fixer (ou contourner) de nombreux problèmes via des API interne.
Et aussi pour une raison historique, faire un moteur de jeu coute dans les 25 millions imaginer recoder ça dans un nouveau langage qui promet la lune non rodé => trop risqué...
Je pense que la raison historique est la première dans de nombreux domaine, ce qui explique la prédominance d'un langage de programmation dans certain domaine (C++, Cobol, JS, ...)
Indépendamment des compétences. Y a aussi une raison du marché du travail, exemple Facebook compile le PHP en C++ (Hip Hop). Il est plus facile de trouver un programmeur PHP (compétent) qu'un programmeur C++ (compétent).
Seulement moi le C++ devrait être le SEUL langage utilisé pour coder des API, simplement parce que c'est le seul langage qui permet d'être utilisé par tous. On peut facilement faire des API en C++ les exportés pour du C, du C# [PInvoke], du Fortran...
Le C++ est le langage pour les gouverner tous (pour les API). Tout est là, performance, portabilité... Tout est là c'est du Win/Win.
Ce qu'on ne peut pas faire avec du C par exemple parce qu'on perd directement la notion de classe, le thiscall ne suffit pas.
Bref sans troll aucun c'est juste un avis![]()
Partager