Tout d'abord, je voudrais avoir une vraie réponse, j'essaie toujours d'obtenir plus de diverses sources et articles, et quand je lis des choses comme C ++ est lente parce qu'elle a des fonctions virtuelles et à cause de cela C est mieux , je vraiment Je ne sais pas quoi dire et penser en tant qu'être humain avec un cerveau. Veuillez donc éviter d'atteindre ce niveau dans votre / vos réponse (s).
Ma question concerne un passage massif au C ++ qui a été réalisé, plus ou moins, avec Doom 3.
Ce qui est intéressant pour moi, c'est qu'avant cette étape, la plupart des moteurs de jeu et les jeux eux-mêmes étaient écrits en C, comme c'était le cas depuis l' ère Quake . Il est également intéressant de noter que le logiciel d'identification décide de réécrire complètement la base de code de l'IdTech 4 en C ++, une énorme quantité de travail que je ne peux honnêtement pas comprendre sans une très bonne liste de raisons.
Je me concentre sur Doom 3 parce que je suis principalement intéressé par le monde OpenGL et dans mon voyage j'essaie de rester concentré sur ce sujet, donc j'ai lu beaucoup de choses à ce sujet, mais je pense qu'une question comme celle-ci peut être render-API -agnostique sans trop de problèmes.
Pourquoi à un certain moment, l'industrie est passée massivement au C ++? Quelles sont les raisons du choix de cette pièce d'identité?
La dernière chose que je voudrais dire, c'est que le langage C est beaucoup plus simple à implémenter et offre moins de fonctionnalités, car il a beaucoup moins de chances d'être "fragmenté" en morceaux contrairement au C ++ le fait souvent. En termes plus simples, j'ai beaucoup plus de chances de trouver un très bon compilateur C plutôt qu'un bon compilateur C ++ avec toutes les fonctionnalités implémentées dans le bon sens.
Par exemple, le NDK pour Android n'a toujours pas un bon support C ++ (avec la version r8b) avec toutes les dernières et meilleures fonctionnalités, et c'est la boîte à outils native pour le système d'exploitation mobile le plus populaire au monde!
Si j'avais écrit mon code dans un C ++ moderne, j'aurais probablement mal maintenant parce que l'un des systèmes d'exploitation les plus populaires au monde serait interdit pour moi. Et comme Android, de nombreux autres compilateurs ne sont pas si géniaux.
Je devrais écrire du code C ++ faisant référence à une version C ++ datant de 2-3 ans?