En primer lugar, me gustaría tener una respuesta real, siempre estoy tratando de obtener más de varias fuentes y artículos, y cuando leo cosas como C ++ es lento porque tiene funciones virtuales y debido a esto C es mejor , realmente No sé qué decir y pensar como un ser humano con cerebro. Por lo tanto, evite alcanzar este nivel en sus respuestas.
Mi pregunta es sobre un cambio masivo a C ++ que se completó, más o menos, con Doom 3.
Lo interesante para mí es que antes de este hito, la mayoría de los motores de juego y los juegos en sí estaban escritos en C, al igual que desde la era Quake . También es interesante notar que el software de identificación decide reescribir completamente la base de código para IdTech 4 en C ++, una gran cantidad de trabajo que honestamente no puedo entender sin una lista realmente buena de razones.
Me estoy centrando en Doom 3 porque estoy principalmente interesado en el mundo OpenGL y en mi viaje trato de mantenerme enfocado en este tema, así que leí mucho sobre esto, pero creo que una pregunta como esa puede ser render-API -gnóstico sin demasiados problemas.
¿Por qué en cierto momento la industria cambió masivamente a C ++? ¿Cuáles son los motivos de la elección que hizo esa identificación?
Lo último que me gustaría decir es que el lenguaje C es mucho más simple de implementar y proporciona una menor cantidad de características, debido a esto tiene muchas menos posibilidades de ser "fragmentado" en partes, a diferencia de lo que realmente hace C ++. En términos más simples, tengo muchas más posibilidades de encontrar un compilador de C realmente bueno en lugar de un buen compilador de C ++ con todas las características implementadas de una buena manera.
Por ejemplo, el NDK para Android todavía no tiene un buen soporte de C ++ (con la versión r8b) con todas las características más recientes y excelentes, ¡y es el kit de herramientas nativo para el sistema operativo móvil más popular del mundo!
Si hubiera escrito mi código en un C ++ moderno, probablemente me dolería ahora porque uno de los sistemas operativos más populares del mundo estaría fuera de mi alcance. Y como Android, muchos otros compiladores no son tan buenos.
¿Debo escribir código C ++ que se refiera a una versión C ++ que tenga una versión 2-3?