C++ Vs Java

Páginas: 5 (1166 palabras) Publicado: 17 de abril de 2012
Introducción
El lenguaje C++ es un lenguaje derivado del C, pero mucho más complejo. Que además incluye definición de módulos (llamados clases), POO, tipificación más estricta, tratamiento de excepciones y plantillas (equivalentes a módulos genéricos).
El C++ fue estandarizado en 1998.
Mientras que el lenguaje Java es un lenguaje con una sintaxis similar a la del C++, pero unos conceptos dediseño totalmente diferentes como lo son la portabilidad de clases mediante: código intermedio estandarizado, e interpretado por una máquina virtual (portable, pero ineficiente) y las clases se cargan dinámicamente (y de sitios remotos). Gestión automática de memoria, que aumenta la fiabilidad, programación orientada a objetos, tipificación estricta, tratamiento de excepciones; recientemente,genéricos.
El Java pertenece a la empresa Sun y no está estandarizado.

Conceptos Básicos

En el siguiente cuadro se listan las palabras reservadas, aquellas que emplea el lenguaje Java, y que el programador no puede utilizar como identificadores. Algunas de estas palabras le resultarán familiares al programador del lenguaje C/C++. Las palabras reservadas señaladas con un asterisco (*) no seutilizan.

abstract | boolean | break | byte | byvalue* |
case | cast* | catch | char | class |
const* | continue | default | do | double |
else | extends | false | final | finally |
float | for | future* | generic* | goto* |
if | implements | import | inner* | instanceof |
int | interface | long | native | new |
null | operator* | outer* | package | private |
protected | public |rest* | return | short |
satatic | super | switch | synchronized | this |
throw | transient | true | try | var* |
void | volatile | while | | |

Las palabras reservadas se pueden clasificar en las siguientes categorías:
Tipos de datos: boolean, float, double, int, char
Sentencias condicionales: if, else, switch
Sentencias iterativas: for, do, while, continue
Tratamiento de lasexcepciones: try, catch, finally, throw
Estructura de datos: class, interface, implements, extends
Modificadores y control de acceso: public, private, protected, transient
Otras: super, null, this.

Comparación C++ vs JAVA

Sintaxis:
Prácticamente idéntica en C++ y Java.

Orientación a objetos:
En C++ se pueden escribir programas orientados a objetos, no orientados a objetos, o mezcla deambos (por ejemplo, tener clases con funciones globales en el mismo programa).
Java es puramente orientado a objetos; cualquier función debe pertenecer a alguna clase (es un método). Existe la función main, pero es un método estático de una clase (la clase principal)

Control sobre la plataforma (hardware + S.O.):
C y C++: el programador tiene control del procesador.
Java: el programa seejecuta sobre un procesador virtual (JVM) que abstrae al programador de la plataforma concreta.

Código de máquina generado:
C y 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 a posterior.

Liberación de Memoria:
C y C++: a cargo del programador(delete).
Java: automática; los objetos creados son destruidos automáticamente entre cuando se quedan sin referencias. Un proceso de la JVM llamado recolector de basura (garbage collector).

Punteros:
C y 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 sonaccedidos mediante referencias (una referencia se puede considerar como el propio identificador del objeto); no existe aritmética de referencias.

Paquetes:
C y C++: no existe tal concepto; lo más aproximado son los archivos de biblioteca (.h)
Java: un paquete es una entidad organizativa que permite agrupar clases, interfaces y excepciones, así como que sus elementos dispongan de una...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • C++ vs java
  • C# Vs Java
  • Java Vs C#
  • Java Vs Otros
  • Java vs .Net
  • Ruby Vs Java
  • JAVA CARD VS LINUX
  • Tipos de datos c++, java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS