Diferencia entre C++ Java
Diferencia clave entre C++ Java
- C++ utiliza sรณlo el compilador, mientras que Java utiliza compilador e intรฉrprete ambos.
- C++ admite tanto la sobrecarga del operador como la sobrecarga de mรฉtodos, mientras que Java solo admite la sobrecarga de mรฉtodos.
- C++ admite la gestiรณn manual de objetos con la ayuda de palabras clave nuevas y eliminadas, mientras que Java Tiene recogida automรกtica de basura incorporada.
- C++ soporta estructuras mientras que Java No soporta estructuras.
- C++ apoya a los sindicatos mientras Java No apoya a los sindicatos.

ยฟQuรฉ es el C++ ยฟidioma?
C++ Es un lenguaje de programaciรณn informรกtica que contiene las caracterรญsticas del lenguaje de programaciรณn C asรญ como Simula67 (primer lenguaje orientado a objetos). C++ introdujo el concepto de Clase y Objetos.
Encapsula caracterรญsticas del lenguaje de alto y bajo nivel. Por tanto, se considera un lenguaje de nivel intermedio. Anteriormente se llamaba โC con clasesโ, ya que tenรญa todas las propiedades del lenguaje C.
ยฟQuรฉ es el Java ยฟidioma?
Java es un lenguaje de programaciรณn desarrollado por Sun Microsystems. Un pequeรฑo equipo de desarrollo de software desarrollรณ este lenguaje. Eran conocidos como el Equipo Verde, quienes iniciaron Java lengua en el aรฑo 1991.
Historia C++
C++ El lenguaje fue desarrollado por Bjarne Stroustrup en los Laboratorios AT & T Bell. Stroustrup era un gran defensor de C y un admirador de Simula67. Querรญa combinar lo mejor de ambos lenguajes. Su objetivo era crear un lenguaje que admitiera funciones de programaciรณn orientada a objetos y que aรบn conservara el poder de C. Esto dio como resultado C++.
Historia Java
La Java El lenguaje se llamรณ inicialmente OAK. Originalmente, se desarrollรณ para manejar dispositivos y decodificadores. Oak fue un fracaso rotundo. Por ello, en 1995 Sun cambiรณ el nombre a Java y modificรณ el lenguaje para aprovechar el floreciente negocio de desarrollo de la World Wide Web.
Later, en 2009, Oracle Corporation adquiriรณ Sun Microsystems y tomรณ posesiรณn de dos activos clave de software de Sun: Java Solaris.
Diferencia entre C++ Java
| Parรกmetro | C++ | Java |
|---|---|---|
| Relaciรณn | No hay una relaciรณn estricta entre los nombres de clases y los nombres de archivos. En C++, los archivos de encabezado y los archivos de implementaciรณn se utilizan para clases especรญficas. | La relaciรณn estricta se aplica, por ejemplo, el cรณdigo fuente de la clase PayRoll debe estar en PayRoll.java. |
| Mecanismo de entrada | Las sentencias de E/S utilizan in y cout, por ejemplo, in ยป x; coutยซ y; | El mecanismo de entrada de E/S es bastante complejo, ya que lee un byte a la vez (System.in). La salida es sencilla, por ejemplo, System.out.println(x); |
| Compilador e intรฉrprete | C++ solo admite compilador | Java soporta tanto el compilador como el intรฉrprete |
| Compatibilidad con otros idiomas | Compatible con cรณdigo fuente C, salvo algunos casos excepcionales. | No es compatible con ningรบn lenguaje anterior. La sintaxis estรก influenciada por C/C++. |
| Control de acceso y protecciรณn de objetos | Modelo flexible con protecciรณn constante disponible | El modelo engorroso fomenta una encapsulaciรณn dรฉbil. |
| Concepto | Escribir una vez, compilar en cualquier lugar | Escriba una vez, ejecute en cualquier lugar en todas partes |
| Soporte para tipo de programaciรณn | Permite tanto la programaciรณn procedimental como la programaciรณn orientada a objetos. | Admite el modelo de programaciรณn orientado a objetos. |
| Fรกcil de usar | Permite llamadas directas a bibliotecas nativas del sistema. | Sรณlo llama a travรฉs del Java Interfaz nativa y recientemente Java Acceso nativo |
| Gestiรณn de la memoria | Accesible al programador | Controlado por el sistema |
| Jerarquรญa raรญz | C++ no existe tal jerarquรญa raรญz. C++ admite programaciรณn tanto procedimental como orientada a objetos; por eso se le llama lengua hรญbrida. | Java es un lenguaje de programaciรณn puramente orientado a objetos. Eso es. Por quรฉ sigue una jerarquรญa de raรญz รบnica. |
| Mejores caracterรญsticas | C++ admite funciones orientadas a objetos Funciones de programaciรณn de procedimientos. | Java Admite la recolecciรณn automรกtica de basura. No soporta destructores como C++ hace. |
| Declaraciรณn Goto | C++ tiene una declaraciรณn de ir. Aunque no es ideal utilizar una declaraciรณn goto. | Java no tiene declaraciรณn de ir a. Las palabras clave got y const estรกn reservadas incluso si no se utilizan. |
| Herencia mรบltiple | C++ Proporcionar herencia mรบltiple. La palabra clave virtual se utiliza para resolver problemas durante la herencia mรบltiple, si existe. | Java no proporciona herencia mรบltiple. |
| Operador de resoluciรณn de alcance | C++ tiene alcance operador de resoluciรณn (: :) que se utiliza para definir un mรฉtodo fuera de una clase y para acceder a una variable global dentro del alcance donde tambiรฉn existe una variable local con el mismo nombre. |
Operador de resoluciรณn sin alcance (: :) in Java. Las definiciones de mรฉtodos deben ocurrir dentro de una clase, por lo que no hay necesidad de resoluciรณn de alcance. |
| Mรฉtodo de apoyo | C++ Admite tanto la sobrecarga de mรฉtodos como la sobrecarga de operadores. | Java Solo admite la sobrecarga de mรฉtodos. No admite la sobrecarga de operadores. |
| Portabilidad | La fuente debe volver a compilarse para la plataforma; por lo tanto, el cรณdigo no es portรกtil. | Las clases de cรณdigo de bytes son transferibles a JVM especรญficas de la plataforma. |
| Tipo semรกntica | Consistente entre tipos primitivos y de objeto. | Difiere para tipos primitivos y de objeto. |
| Bibliotecas | Funcionalidad predominantemente de bajo nivel | Clases masivas, para servicios de alto nivel. |
| Detecciรณn de errores en tiempo de ejecuciรณn | Responsabilidad del programador. | Responsabilidad del sistema. |
| Funciones y datos | Las funciones y los datos pueden existir externos a cualquier clase, los รกmbitos globales y de espacio de nombres estรกn disponibles. | Todas las funciones y datos existen dentro de las clases; El alcance del paquete estรก disponible. |
| Plataforma | C++ Los programas dependen de la plataforma. Deben compilarse para una plataforma en particular. | Java Los programas son independientes de la plataforma. Java Los programas estรกn escritos para Java Mรกquina virtual (JVM). Se ejecutarรก sin necesidad de recompilaciรณn. |
| Detecciรณn de errores en tiempo de ejecuciรณn | In C++, Es responsabilidad del programador comprobar los errores. | Es responsabilidad del sistema verificar errores en el programa. |
| puntero | C++ punteros de soporte. | Java ofrece sรณlo soporte limitado para punteros. |
| Estructura | Soporta estructuras. | No soporta ningรบn soporte para estructuras. |
| sindicatos | C++ apoya a los sindicatos. | Java No apoya a los sindicatos. |
| Gestiรณn de objetos | C++ admite la gestiรณn manual de objetos con la ayuda de palabras clave nuevas y eliminadas. | Java depende en gran medida de la recolecciรณn automรกtica de basura. No soporta destructores. |
