GeneralGandhi escribió: ↑04 Mar 2020, 16:49
Eso sí, uno se pregunta cuan lejos y profundo puede llegar el desarrollo tratándose de una propuesta que corre sobre java, que desde una supina ignorancia en cuanto a programación, asocio más a juegos y animaciones en el navegador web.
Pero difícil no escuchar el
Rómpete!, pero no te rindas del marinero republicano Celestino Arago.
(Parece que el capítulo dedicado al combate, breve y literario, se puede leer completo ahí)
Igual de lejos y profundo que con C++ o C#, sólo que algo más lento.
Tienes como ejemplo el Project Zomboid que está enteramente programado en Java, y hay versiones del Quake y de otros juegos. Lo que pasa es que Java como lenguaje se ha usado más en el lado empresarial o de servidores de Internet. A lo mejor estás confundiendo Java con Javascript (que es lo que son los juegos y animaciones en la web).
El problema habitualmente no son los lenguajes en si, sino las APIs y librerías que haya hechas para él. Por eso puedes programar el Aurora 4x en Visual Basic 6 (que es casi de juguete a nivel de repertorio de APIs y librerías, en comparación con otros lenguajes), pero cuando pasas a hacer el Aurora en C# de repente tienes acceso a muchas más librerías para gráficos, multihilo, bases de datos y demás, que te permiten si sabes usarlas, hacer que el juego corra más rápido, etc...
Luego, si que es cierto que Java por ejemplo no se compila a código binario nativo, sino a algo que se llama bytecode, lo que significa que cuando haces el ejecutable, en lugar de producir código binario específico para el sistema operativo y arquitectura que vas a usar (que es lo más eficiente en términos de velocidad), se produce un código binario intermedio que cualquier sistema operativo y arquitectura puede ejecutar si tiene la máquina virtual de Java instalada. Ganas portabilidad a cambio de perder velocidad.
Y si es cierto que hay lenguajes (C, C++, no sé si C#) por ejemplo, que cuando generas el código binario que es el que realmente se genera (lo que llamamos compilar), generan código muy rápido, y por eso se usan mucho en juegos. A veces esa diferencia de velocidad es importante (el ultimísimo juego que necesite exprimir la CPU y la GPU al máximo), y otras, como en juegos de estrategia por turnos, pues te da un poco igual.
Pero en cuanto a "repertorio de cosas" que puedes hacer con el programa, ni Java (ni siquiera Javascript que creo que tiene librerías 3d bastante chulas) ni muchos otros programas tienen mucho que envidiar a C++, que es el lenguaje por excelencia para hacer videojuegos.