0 calificaciones0% encontró este documento útil (0 votos)
81 vistas2 páginas
C y C++ permiten programación orientada a objetos y no orientada a objetos, mientras que Java es puramente orientado a objetos. C y C++ generan código de máquina nativo para una plataforma determinada, mientras que Java genera bytecode interpretado por la máquina virtual Java (JVM). Java automáticamente gestiona la memoria a través del recolector de basura, mientras que C y C++ dejan la gestión de memoria en manos del programador.
C y C++ permiten programación orientada a objetos y no orientada a objetos, mientras que Java es puramente orientado a objetos. C y C++ generan código de máquina nativo para una plataforma determinada, mientras que Java genera bytecode interpretado por la máquina virtual Java (JVM). Java automáticamente gestiona la memoria a través del recolector de basura, mientras que C y C++ dejan la gestión de memoria en manos del programador.
C y C++ permiten programación orientada a objetos y no orientada a objetos, mientras que Java es puramente orientado a objetos. C y C++ generan código de máquina nativo para una plataforma determinada, mientras que Java genera bytecode interpretado por la máquina virtual Java (JVM). Java automáticamente gestiona la memoria a través del recolector de basura, mientras que C y C++ dejan la gestión de memoria en manos del programador.
Sintaxis: Prácticamente idéntica en Prácticamente idéntica en
C++ y Java C++ y Java
Orientación a objetos: Se pueden escribir Es puramente orientado a
programas orientados a objetos; cualquier función objetos, no orientados a debe pertenecer a alguna objetos, o mezcla de clase (es un método). ambos (por ejemplo, Existe la función main, tener clases con pero es un método, pero funciones globales en el es un método estático de mismo programa) una clase (la clase principal) Control sobre la El programador tiene El programa se ejecuta plataforma control del procesador. sobre un procesador (hardware+S.O.): virtual (JVM) que abstrae al programador de la plataforma concreta. Código de máquina El compilador genera El compilador genera generado: código de máquina para código de máquina una plataforma concreta. (bytecode) para el procesador JVM; dicho código debe ser interpretado a posteriori. Liberación de Memoria: A cargo del programador Automática; los objetos (delete). creados son destruidos automáticamente cuando se quedan sin referencias. Un proceso de la JVM llamado recolector de basura (garbage collector). Punteros: Existen punteros con una No existe el concepto de aritmética bien definida, y puntero; los objetos son entre otras cosas, accedidos mediante permiten programador referencias (una explorar la memoria del referencia se puede computador físico. considerar como el propio identificador del objeto); no existe aritmética de referencias. Paquetes: No existe tal concepto; lo Un paquete es una más aproximado son los entidad organizativa que archivos de biblioteca permite agrupar clases, (.h). interfaces y excepciones, así como que sus elementos dispongan de una determinada visibilidad con respecto a elementos externos al paquete. Conversión implícita de Existe (flexibilidad para el No existe por tipos: programador). considerarse un mecanismo objeto de errores potenciales. Sobrecarga de Existen ambos tipos de Sólo existe la sobrecarga funciones y sobrecarga. de funciones (métodos); operadores: Los operadores que existen ya vienen sobrecargados por el compilador, (p.e. + para sumar números o concatenar cadenas). Herencia múltiple: Existe. No existe por considerarse poco eficiente (esto implicó algunas críticas a Java desde ciertos sectores). Interfaces: No existe este concepto. Existe el concepto de interfaz como conjunto de especificaciones de métodos y de atributos constantes. Estructuras dinámicas: Librería STL Paquete java.util. Los nombres y el funcionamiento son distintos. Compiladores: Muchos compiladores. Un único compilador Pueden ser bastante siempre igual. distintos. Objetos: Ningún ancestro común. Todos los objetos heredan automáticamente de la clase Object.