Relación y diferencias de Java con C y C++

martes, 5 de mayo de 2009 ·
Relación:

Hereda la sintaxis de C y el modelo de objetos está basado a partir de C y C++. La relación de Java con C y C++ es importante ya que mucho programadores están familiarizados con la sintaxis de C, C++, o ambos. Este hecho le facilita a un programador de C o C+ aprender Java y, de igual manera, a un programador de Java aprender C o C++.

Una de las filosofías centrales de C y C++ en cuanto al diseño es que el programador es la persona que tiene el control. Java hereda también dicha filosofía. Con excepción de las restricciones impuestas por el entorno de Internet, Java le proporciona a usted, es decir, el programador, un control total. Si usted programa bien, su programas así lo reflejarán. Si programa de manera deficiente, sus programas igualmente lo reflejarán.

Debido a las similitudes entre Java y C++, sobre todo en el soporte que brindan a la programación orientada a objetos, resulta tentador pensar en Java como la simple “versión de C++ para Internet”. Sin embargo, ello sería un error pues Java tiene importantes diferencias prácticas y filosóficas. Aunque fue influido por C++, no es una versión mejorada de éste (no es compatible ni hacia arriba ni hacia abajo con C++). Por supuesto, las similitudes con C++ son significativas; por lo tanto, si usted es un programador de C++, se sentirá como en casa con Java. Otro punto: Java no fue diseñado para reemplazar a C++: fue diseñado para resolver un cierto conjunto de problemas, mientras que C++ fue diseñado para resolver otro conjunto diferente. Ambos coexistirán durante muchos años más.

Diferencias:

Existen algunas deficiencias en C++, por el hecho de que permite programación estructurada. Esto ha sido eliminado en Java, que es un lenguaje puramente orientado a objetos.
Las principales diferencias entre Java y C++ son:

Java

C++

Es tanto un lenguaje de programación como una plataforma de software.

Es sólo un lenguaje de programación.

Es un lenguaje puramente orientado a objetos.

Da soporte tanto a la programación estructurada como a la programación orientada a objetos.

Todas las declaraciones de variables y métodos deben estar dentro de la definición de la clase.

Las declaraciones de variables y funciones pueden estar presentes fuera de las definiciones de las clases. No es necesario para un programa en C++ tener una clase.

El lenguaje es independiente de la plataforma. El código Java, una vez escrito, puede ser ejecutado en cualquier plataforma.

El código C++, una vez escrito para una plataforma, necesita se compilado de nuevo, y el código objeto reenlazado para ser ejecutado en otra plataforma diferente.

Maneja la memoria automáticamente.

Los programadores tienen que hacerse cargo de liberar la memoria no utilizada.

No se soporta características como sobrecarga de operadores y conversiones automáticas en ambos sentidos.

Da soporte a características como sobrecarga de operadores y conversiones automáticas en ambos sentidos.

Una clase no puede heredar directamente de más de una clase. Se da soporte a la herencia múltiple usando interfaces.

Una clase puede heredar directamente de más de una clase.

Tiene rutinas de librerías extensibles.

Sus rutinas de librerías no son extensibles.

La programación de redes es más fácil. Los objetos pueden ser accedidos a través de la red usando URLs.

La programación para redes es compleja, a menos que se usen APIs de terceros. C++, es un lenguaje, que no brinda soporte incorporado para programación de redes.

Los programadores no pueden usar apuntadores. Los apuntadores se usan internamente.

Los programadores pueden usar apuntadores.

Implementa arreglos verdaderos.

Se implementan los arreglos con aritmética de apuntadores.

2 comentarios:

Unknown dijo...
10 de septiembre de 2015, 18:51  

Gracias, gracias, muchas gracias esto es justamente lo que estaba buscando, me han salvado la vida y ahorrado mucho tiempo. ☺

KhaosUve dijo...
24 de febrero de 2020, 19:33  

Gracias crack me sirvió de mucho

Publicar un comentario

Tu comentario es importante

Entradas Recientes Entradas Antiguas data:homeMsg

CodigoByte

Codigo QR

Etiquetas

Blogumulus by Roy Tanck and Amanda Fazani

Twitter

Seguir codigobyte en Twitter

Twitter Actualizar

    sigueme en Twitter

    Participa

    Java Twitter

    ¿Cúal es la extensión usada para guardar los archivos fuente Java?

    Mangoos

    Mangoos
    http://mangoosbuscador.wordpress.com/

    Anunciantes

    Se escribe con...

    Se escribe con...