martes, 13 de septiembre de 2016

Java y C++

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.

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.

Java.math