Tema: Varias dudas
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/11/2012, 09:43
Avatar de ZeKi
ZeKi
 
Fecha de Ingreso: noviembre-2012
Ubicación: Jaén
Mensajes: 61
Antigüedad: 11 años, 6 meses
Puntos: 6
Respuesta: Varias dudas

Ambos lenguajes son orientado a objetos, aunque Java sea más "puro" en este sentido, ya que C++ surgió a partir de C.

Yo recomendaría empezar por C++ y cuando ya domines este, empezar con Java. Con dominar no me refiero a que sepas hacer 4 bucles for anidados y ya está, no, dominar me refiero a que sepas entender lo que es un puntero, lo que es una referencia, cuando usar un tipo, cuando usar el otro, saber establecer relaciones entre clases correctamente, etc etc, ya que lo básico lo sabemos hacer todos en casi cualquier lenguaje.

Ahora bien, cuando tú hagas un programa en Java, se va a poder ejecutar en cualquier ordenador uses las instruccones que uses, por lo general todos tienen instalado el JRE (Java Runtime Enviroment) que permite ejecutar aplicaciones Java, sin embargo, en C++, esto no ocurre y tendrás que tener cuidado a la hora de elegir instrucciones cuando escribas tu código ya que para cada sistema operativo hay ciertas instrucciones específicas (para temas que no invoquen al SO son todas las instrucciones iguales).

Por ello, cuando tú una aplicación escrita en C++ bajo Linux quieras pasarla a Windows, tendrás que compilar de nuevo el código para que te genere el ejecutable en Windows, cosa que en Java no pasa, compilas una vez y ya te vale para cualquier SO.

Otra ventaja de Java frente a C++ es el recolector de basura, un "programita" que nos irá limpiando la memoria que hayamos reservado en el programa y que ya no vayamos a usar, cosa que en C++ tenemos que tener mucho cuidado porque si no la liberamos nosotros, no la libera nada, sólo se liberará cuando se cierre la aplicación.

Ahora bien, si hablamos de velocidad de ejecución, C++ es mucho más rapido que Java debido a su ejecución a partir del binario generado en la compilación. Java crea un bytecode y a partir de este ejecuta en cualquier SO y eso lo hace algo más lento.