domingo, 8 de abril de 2012

Diferencias entre C++ y Java

En esta entrada trataremos sobre las diferencias existen entre los lenguajes de programación C/C++ y Java bajo los criterios de orientado a objetos, código de maquina generado, punteros, sobrecarga de funciones y operadores, entre otros.

Orientado a objetos
C++: Se pueden escribir programas orientados a objetos, no orientados a objetos, o una mezcla de ambos.
Java: Puramente orientado a objetos: cualquier función debe pertenecer a alguna clase. La función main es un método estático de la clase principal.

Código de máquina generado
C++: El compilador genera código de máquina para una plataforma concreta.
Java: El compilador genera código de máquina (bytecode) para el procesador JVM. Dicho código debe ser interpretado posteriormente para su ejecucion.

Punteros
C++: Existen punteros con una aritmética bien definida, y entre otras cosas, permiten programador explorar la memoria del computador físico.
Java: No existe el concepto de puntero; los objetos son accedidos mediante referencias (una referencia se puede considerar como el propio identificador del objeto). No existe aritmética de referencias.

Sobrecarga de funciones y operadores
C++: Existen ambos tipos de sobrecarga.
Java: Sólo existe la sobrecarga de funciones (métodos). Los operadores que existen ya vienen sobrecargados por el compilador como por el ejemplo el operador "+" para sumar números o concatenar cadenas.

Objetos
C++: Ningún ancestro común.
Java: Todos los objetos heredan automáticamente de la clase Object.

No hay comentarios:

Publicar un comentario