Core Java
Enviado por carlosgregorio • 30 de Mayo de 2012 • 8.842 Palabras (36 Páginas) • 635 Visitas
1. Introducción
Antes que Java existiera, C y C++ eran los lenguajes de programación más usados. C
es un lenguaje de programación estructurada, mientras que C++ brinda soporte tanto a
la programación estructurada como a la programación orientada a objetos. Estos dos
lenguajes de programación son complejos y tienen algunas limitaciones inherentes.
Aunque Java no fue diseñado como solución a los problemas encontrados en C o C++,
algunas de sus características han solventado las limitaciones de estos dos lenguajes.
Uno de los objetivos principales detrás de la creación de Java fue tener un lenguaje
orientado a objetos que fuera poderoso, pero simple. Java ha simplificado muchas de
las estructuras complicadas y ambiguas de C++. Otra ventaja fundamental es que Java
trajo el concepto de la independencia de plataforma. Se aprenderá acerca de estas
características en detalle en las próximas secciones.
Sin embargo, antes de continuar, se presenta un breve resumen de la evolución de
Java.
2. Historia de Java
Patrick Naughton, Mike Sheridan y James Gosling de SUN Microsystems iniciaron un
proyecto secreto llamado "Proyecto Verde" (Green Project) a finales de 1990. El objetivo
de este proyecto era anticiparse a la revolución en el mundo de la computación que
estaba por llegar. El equipo decidió intentar introducirse en el mercado de la electrónica
de consumo y desarrollar programas para pequeños dispositivos electrónicos.
Desarrollaron un dispositivo llamado StarSeven (*7), este dispositivo era capaz de
controlar una variedad de plataformas de entretenimiento y dispositivos de uso
doméstico, además de mostrar animaciones simultáneamente. *7 usaba un procesador
independiente del lenguaje llamado Oak para adaptarse a una variedad de plataformas
y dispositivos de uso doméstico. Tras unos comienzos dudosos, Sun decidió crear una
filial, denominada FirstPerson Inc., para dar margen de maniobra al equipo responsable
del proyecto. Este grupo intentó mercadear él *7 a la industria de televisión por cable,
pero la tecnología usada para desarrollar él *7 estaba adelantada a la tecnología
existente en la industria de televisión por cable y por esto no fue aceptado.
Afortunadamente para el grupo creador del *7, Internet se estaba volviendo popular en
ese momento. La Internet tenía una configuración de red similar al *7, y estaba siendo
usada cada vez más para la transferencia de texto, gráficos y video, esencialmente
datos estáticos. El equipo FirstPerson amplió Oak, transformándolo en un lenguaje que
permitía al programador escribir programas que corrían en una gran variedad de
dispositivos, a un lenguaje que permitía escribir código ejecutable que podía ser
distribuido en Internet.
En el año 1995, este nuevo lenguaje evolucionado fue llamado Java. Java permitía a los
usuarios de Internet transferir contenido estático a través de la misma. Adicionalmente,
permitía transferir pequeñas aplicaciones dinámicas a través de la red en la forma de
applets de Java. Algunos de los miembros del grupo FirstPerson mostraron el lenguaje Guía del Estudiante Core Java
Libro 1: Core Java Volumen 1: Fundamentos de Java 5
© Copyright IBM Corp. 2007
Los materiales del curso no pueden ser reproducidos total o
parcialmente sin el previo permiso escrito de IBM.
y sus nuevas características, incluyendo la transferencia de animaciones a través de la
Internet, en la Conferencia de Diseño, Tecnología y Entretenimiento en Monterrey.
Sus características y funcionalidades asombraron a los participantes, ya que la
tecnología proveía un método más sencillo para transferir datos en la Internet. El equipo
pronto construyó el navegador HotJava, y publicó el código fuente Java gratuitamente
en Internet. En poco tiempo, el número de usuarios de la tecnología Java se incrementó
rápidamente.
A continuación se va a comparar Java y C++, ambos lenguajes de programación
orientado a objetos, para descubrir que ha hecho a Java tan popular.
3. Comparación entre Java y C++
Java simplifica muchas de las ambigüedades encontradas en C++, y es, al mismo
tiempo, un lenguaje de programación igualmente poderoso. Se ha visto con anterioridad
las ventajas del paradigma de programación orientada a objetos.
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 C++ y Java se listan en la Tabla 1.1.
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 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 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. Core Java
...