En general la sintaxis de C++ y Java son muy parecidas
;
el modelo de objetos está basado a partir de C++ y la relación de Java
con C++ es importante ya que muchos programadores están familiarizados
con la sintaxis de C++; este hecho le facilita a un programador de C++
aprender Java y, de igual manera, a un programador de Java aprender C++.
Una de las filosofías centrales de 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, sus 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.
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.
Una de las filosofías centrales de 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, sus 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.
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.
|
Este lenguaje 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 estructura.
|
Las
declaraciones de variables y funciones pueden estar presentes fuera de
la estructura. No es necesario para un programa en C++ tener estructura.
|
El
lenguaje es independiente del tipo de 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 ser 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 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 estructura no puede heredar directamente de otra estructura. Se da soporte a la herencia múltiple usando interfaces.
|
Una estructura puede heredar directamente de otra estructura.
|
Las librerías se pueden extender.
|
Las librerías no se pueden extender.
|
La programación de redes es más fácil. Los objetos pueden ser accedidos a través de la red usando URLS.
|
Esta
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.
|
URL:
Ademas de ser un protocolo en la Web es un localizador de recursos
uniforme (Uniform Resource Locator), es una secuencia de caracteres que
se usa para nombrar recursos en internet para su localización o
identificación, es decir es la que nos muestra las direcciones en la Web
para acceder a documentos, textos, imágenes, videos, etc.
API:Es un
conjunto de funciones y procedimientos, es decir una interfaz de
programación de aplicaciones (Application Programming Interfase),
esta interfaz de programación representa la capacidad de comunicación
entre componentes de software. Se trata del conjunto de llamadas a
ciertas librerías as que ofrecen acceso a ciertos servicios desde los
procesos y representa un método para conseguir abstracción en la
programación, generalmente (aunque no necesariamente) entre los niveles o
capas inferiores y los superiores del software. Uno de los principales
propósitos de una API consiste en proporcionar un conjunto de funciones
de uso general, por ejemplo, para dibujar ventanas o iconos en la
pantalla. De esta forma, los programadores se benefician de las ventajas
de la API haciendo uso de su funcionalidad, evitándose el trabajo de
programar todo desde el principio. Las API asi mismo son abstractas: el
software que proporciona una cierta API generalmente es llamado la
implementación de esa API.
No hay comentarios:
Publicar un comentario