El tema de la independencia de plataforma de Java siempre me ha parecido un tema curioso. Hay una buena razon que rompe el "compila una vez, y ejecuta en todos lados", y esa razon es la gran diferencia de recursos entre plataformas. La unica forma de que eso sea cierto es que ambas maquinas tengan caracteristicas tecnicas lo suficientemente amplias como para ejecutar el programa (juego en cuestion) sin problemas de rendimiento. El resultado es ver los tristes juegos que aparecen para los moviles, incluso los que tienen autenticas bestias de micros. Y me hablaras de marketing y economia, y yo te respondere que soy ingeniero, no empresario.
Tu haras el juego para el IPAQ y descubriras con sorpresa (o sin ella) que cuando lo metes en el Nokia se empieza a arrastrar. Eso sin entrar en la resolucion de la pantalla y los modos graficos, que pueden hacer inutilizables aplicaciones en ciertas maquinas mientras en otras funcionaban bien. La filosofia de Java vale mientras te sobren los recursos y las plataformas sean muy muy similares, eso o estaras despilfarrando tiempo de proceso.
Y en cuanto a la comparacion entre el ensamblador y el c/c++ te dire que la diferencia es mucho menor que la que puedas encontrar entre java y c. Incluso los benchmarks mas optimistas para Java sacan relaciones de 3/1. La mala noticia es que suelen ser benchmarks sobre x86 donde la JVM esta super optimizada, a diferencia de lo que suele ocurrir en otras plataformas. Me diras, con los compiladores pasa lo mismo, estan superoptimizados para una plataforma, si cierto, pero las JVM se compilan sobre esos mismos compiladores lo que aumenta la distancia entre Java y C.
Tambien el tema de la independencia de plataforma y lo bueno que resulta economicamente al desarrollar aplicaciones, se ve contrapartido desde el punto de vista economico tambien, de que todas las plataformas tienden hacia una "unificacion", cada vez hay menos categorias de dispositivos, especialmente moviles, porque las empresas intentan unificar elementos en pdas-telefonos y similares que al final utilizan dos o tres arquitecturas distintas solamente. La razon es la misma que ha hecho que los pcs se basen en una sola arquitectura: costes.
En cuanto a los punteros... con C++ y usando referencias te puedes olvidar por completo de ellos, o casi. Si no te gustan no los uses, pero que el lenguaje los prohiba me parece muy negativo.
¿Estas seguro?
(Puntos:1)
Tu haras el juego para el IPAQ y descubriras con sorpresa (o sin ella) que cuando lo metes en el Nokia se empieza a arrastrar. Eso sin entrar en la resolucion de la pantalla y los modos graficos, que pueden hacer inutilizables aplicaciones en ciertas maquinas mientras en otras funcionaban bien. La filosofia de Java vale mientras te sobren los recursos y las plataformas sean muy muy similares, eso o estaras despilfarrando tiempo de proceso.
Y en cuanto a la comparacion entre el ensamblador y el c/c++ te dire que la diferencia es mucho menor que la que puedas encontrar entre java y c. Incluso los benchmarks mas optimistas para Java sacan relaciones de 3/1. La mala noticia es que suelen ser benchmarks sobre x86 donde la JVM esta super optimizada, a diferencia de lo que suele ocurrir en otras plataformas. Me diras, con los compiladores pasa lo mismo, estan superoptimizados para una plataforma, si cierto, pero las JVM se compilan sobre esos mismos compiladores lo que aumenta la distancia entre Java y C.
Tambien el tema de la independencia de plataforma y lo bueno que resulta economicamente al desarrollar aplicaciones, se ve contrapartido desde el punto de vista economico tambien, de que todas las plataformas tienden hacia una "unificacion", cada vez hay menos categorias de dispositivos, especialmente moviles, porque las empresas intentan unificar elementos en pdas-telefonos y similares que al final utilizan dos o tres arquitecturas distintas solamente. La razon es la misma que ha hecho que los pcs se basen en una sola arquitectura: costes.
En cuanto a los punteros... con C++ y usando referencias te puedes olvidar por completo de ellos, o casi. Si no te gustan no los uses, pero que el lenguaje los prohiba me parece muy negativo.