You are on page 1of 9

Java, su historia, ediciones, versiones y características como plataforma y lenguaje de programación @ Club Desarrolladores

Java, su historia, ediciones, versiones y características como


plataforma y lenguaje de programación
Publicado por Gastón el 10/10/2007 en Java - Nivel Básico

Resúmen

Este artículo pretende ser una lectura sobre los conceptos básicos, la historia y las diferentes versiones y
ediciones disponibles de Java. Intenta acercar al programador, y al interesado en estas tecnologías, a conocer con
mayor profundidad lo que representa el mundo de Java.

Tabla de contenidos

¿Qué es Java?
Características de Java
El recolector de basura
La plataforma virtual Java
El lenguaje de programación Java
Otras observaciones
¿Cómo surge Java? Historia de la tecnología Java
Primeros proyectos en que se aplicó Java
Resurgimiento de Java
Java en código abierto
¿Cuáles son las diferencias entre JRE y SDK?
¿Qué ediciones de Java tenemos a nuestra disposición?
Versiones de Java
IDE's

¿Qué es Java?

Java es toda una tecnología orientada al desarrollo de software con el cual podemos realizar cualquier tipo de
programa. Hoy en día, la tecnología Java ha cobrado mucha importancia en el ámbito de Internet gracias a su
plataforma J2EE. Pero Java no se queda ahí, ya que en la industria para dispositivos móviles también hay una gran
acogida para este lenguaje.

La tecnología Java está compuesta básicamente por 2 elementos: el lenguaje Java y su plataforma. Con
plataforma nos referimos a la máquina virtual de Java (Java Virtual Machine).

Java también es un lenguaje de programación. En la actualidad es un lenguaje muy extendido y cada vez cobra
más importancia tanto en el ámbito de Internet como en la informática en general. Está desarrollado por la
compañía Sun Microsystems con gran dedicación y siempre enfocado a cubrir las necesidades tecnológicas más
punteras.

Características de Java

Una de las principales características por las que Java se ha hecho muy famoso es que es un lenguaje
independiente de la plataforma. Eso quiere decir que si hacemos un programa en Java podrá funcionar en
cualquier ordenador del mercado. Es una ventaja significativa para los desarrolladores de software, pues antes
tenían que hacer un programa para cada sistema operativo, por ejemplo Windows, Linux, Apple, etc. Esto lo
consigue porque se ha creado una Máquina de Java para cada sistema que hace de puente entre el sistema

Página 1/9
Java, su historia, ediciones, versiones y características como plataforma y lenguaje de programación @ Club Desarrolladores

operativo y el programa de Java y posibilita que este último se entienda perfectamente.

La independencia de plataforma es una de las razones por las que Java es interesante para Internet, ya que
muchas personas deben tener acceso con ordenadores distintos. A su vez, Java está desarrollándose incluso
para distintos tipos de dispositivos además del ordenador como móviles, agendas y en general para cualquier
"cosa" que se le ocurra a la industria. Lo que favoreció el crecimiento y difusión del lenguaje Java es su capacidad de
que el código funcione sobre cualquier plataforma de software y hardware. Esto significa que nuestro mismo
programa escrito para Linux puede ser ejecutado en Windows sin ningún problema. Además es un lenguaje
orientado a objetos que resuelve los problemas en la complejidad de los sistemas, entre otras.

Esto agiliza el proceso de desarrollo substancialmente, suponiendo que usted va a lanzar un producto para
diversos sistemas operativos(Windows,Linux,AIX,Solaris) y procesadores( Sparc, x86(Intel), HP-UX , Alpha )... el
realizarlo para cada combinación posible sería una magna obra de Ingeniería, si utiliza Java puede concentrar sus
esfuerzos unicamente en un producto, y debido a que existen diversos JRE: Para Linux, Solaris, Windows y otros
sistemas operativos, deja los detalles específicos de Plataforma (JVM) al JRE y concentra sus esfuerzos en un solo
producto.

El recolector de basura

Un argumento en contra de lenguajes como C++ es que los programadores se encuentran con la carga añadida
de tener que administrar la memoria solicitada dinámicamente de forma manual:
En C++, el desarrollador puede asignar memoria en una zona conocida como heap (montículo) para crear
cualquier objeto, y posteriormente desalojar el espacio asignado cuando desea borrarlo. Un olvido a la hora de
desalojar memoria previamente solicitada puede llevar a una fuga de memoria, ya que el sistema operativo
seguirá pensando que esa zona de memoria está siendo usada por una aplicación cuando en realidad no es así.
Así, un programa mal diseñado podría consumir una cantidad desproporcionada de memoria. Además, si una
misma región de memoria es desalojada dos veces el programa puede volverse inestable y llevar a un eventual
cuelgue. No obstante, se debe señalar que C++ también permite crear objetos en la pila de llamadas de una
función o bloque, de forma que se libere la memoria (y se ejecute el destructor del objeto) de forma automática al
finalizar la ejecución de la función o bloque.
En Java, este problema potencial es evitado en gran medida por el recolector automático de basura (o automatic
garbage collector). El programador determina cuándo se crean los objetos y el entorno en tiempo de ejecución de
Java (Java runtime) es el responsable de gestionar el ciclo de vida de los objetos. El programa, u otros objetos
pueden tener localizado un objeto mediante una referencia a éste (que, desde un punto de vista de bajo nivel es
una dirección de memoria). Cuando no quedan referencias a un objeto, el recolector de basura de Java borra el
objeto, liberando así la memoria que ocupaba previniendo posibles fugas (ejemplo: un objeto creado y únicamente
usado dentro de un método sólo tiene entidad dentro de éste; al salir del método el objeto es eliminado). Aún así,
es posible que se produzcan fugas de memoria si el código almacena referencias a objetos que ya no son
necesarios?es decir, pueden aún ocurrir, pero en un nivel conceptual superior. En definitiva, el recolector de
basura de Java permite una fácil creación y eliminación de objetos, mayor seguridad y puede que más rápida que
en C++.
La recolección de basura de Java es un proceso prácticamente invisible al desarrollador. Es decir, el programador
no tiene conciencia de cuándo la recolección de basura tendrá lugar, ya que ésta no tiene necesariamente que
guardar relación con las acciones que realiza el código fuente.
Debe tenerse en cuenta que la memoria es sólo uno de los muchos recursos que deben ser gestionados.

La plataforma virtual Java

Java es una plataforma virtual de software desarrollada por Sun Microsystems, de tal manera que los programas
creados en ella puedan ejecutarse sin cambios en diferentes tipos de arquitecturas y dispositivos computacionales
( "Diferentes plataformas").

La plataforma Java consta de las siguientes partes:

Página 2/9
Java, su historia, ediciones, versiones y características como plataforma y lenguaje de programación @ Club Desarrolladores

* El lenguaje de programación, mismo.


* La máquina virtual de Java o JRE, que permite la portabilidad en ejecución.
* El API Java, una biblioteca estándar para el lenguaje.

El lenguaje de programación Java

El lenguaje es parecido a C y C++, aunque su modelo de objetos es más sencillo, y fue influenciado también por
Smalltalk y Eiffel. El lenguaje mismo se inspira en la sintaxis de C++, pero su funcionamiento es más similar al de
Smalltalk que a éste. Incorpora sincronización y manejo de tareas en el lenguaje mismo (similar a Ada) e incorpora
interfaces como un mecanismo alternativo a la herencia múltiple de C++.

Los programas en Java generalmente son compilados a un lenguaje intermedio llamado bytecode, que luego son
interpretados por una máquina virtual (JVM). Esta última sirve como una plataforma de abstracción entre la
máquina y el lenguaje permitiendo que se pueda "escribir el programa una vez, y correrlo en cualquier lado".
Usualmente se usa un compilador JIT. También existen compiladores nativos de Java, tanto software libre como
no libre.

Otras observaciones

A fines del siglo XX, Java llegó a ser el lenguaje de mayor acogida para programas de servidor. Utilizando una
tecnología llamada JSP (similar a otras tecnologías del lado del servidor como ASP de Microsoft o PHP), se hizó muy
fácil escribir páginas dinámicas para sitios de Internet. Sumado a JSP la tecnología de JavaBeans, permitía
adaptar al mundo web el patrón MVC (modelo-vista-controlador) que ya se había aplicado con éxito a interfaces
gráficas.

Java llegó a ser extremadamente popular cuando Sun Microsystems introdujo la especificación J2EE (Java 2
Enterprise Edition). Este modelo permite, entre otras cosas, lograr una separación entre la presentación de los datos
al usuario (JSP o Applets), el modelo de datos (EJB), y el control (Servlets). Enterprise Java Beans (EJB) es una
tecnología de objetos distribuidos que pudo lograr el sueño de muchas empresas como Microsoft e IBM de crear
una plataforma de objetos distribuidos con un monitor de transacciones. Con este nuevo estándar, empresas
como BEA, IBM, Sun Microsystems, Oracle y otros crearon nuevos "servidores de aplicaciones" que tuvieron gran
acogida en el mercado.

Además de programas del servidor, Java permite escribir programas de interfaz gráfica o textual. También se
pueden correr programas de manera incorporada o incrustada en los navegadores web de Internet en forma de
Java applets, aunque no llegó a popularizarse como se esperaba en un principio.

Con la evolución de las diferentes versiones, no sólo se han producido cambios en el lenguaje, sino que se han
producido cambios mucho más importantes en sus bibliotecas asociadas, que han pasado de unos pocos cientos
en Java 1.0, a más de tres mil en Java 5.0. En particular, se han añadido APIs completamente nuevas, tales
como Swing y Java2D.

¿Cómo surge Java? Historia de la tecnología Java

En los primeros años de la década de los noventa, Sun Microsystems decidió intentar introducirse en el mercado
de la electrónica de consumo y desarrollar programas para pequeños dispositivos electrónicos. Tras unos
comienzos dudosos, Sun decidió crear una filial, denominada FirstPerson Inc., para dar margen de maniobra al
equipo responsable del proyecto.

La tecnología Java se creó como una herramienta de programación en una pequeña operación secreta y anónima
denominada "the Green Project" en Sun Microsystems en el año 1991.
El equipo secreto ("Green Team"), compuesto por trece personas y dirigido por James Gosling, se encerró en una

Página 3/9
Java, su historia, ediciones, versiones y características como plataforma y lenguaje de programación @ Club Desarrolladores

oficina desconocida de Sand Hill Road en Menlo Park, interrumpió todas las comunicaciones regulares con Sun y
trabajó sin descanso durante 18 meses.
Intentaban anticiparse y prepararse para el futuro de la informática. Su conclusión inicial fue que al menos en parte
se tendería hacia la convergencia de los dispositivos digitales y los ordenadores.
El resultado fue un lenguaje de programación que no dependía de los dispositivos denominado "Oak" (roble en
inglés).
Entonces inicialmente Java se llamó Oak, aunque tuvo que cambiar de denominación, debido a que dicho nombre ya
estaba registrado por otra empresa. Se dice este nombre se le puso debido a la existencia de tal árbol en los
alrededores del lugar de trabajo de los promotores del lenguaje.

Para demostrar cómo podía contribuir este nuevo lenguaje al futuro de los dispositivos digitales, el equipo desarrolló
un controlador de dispositivos de mano para uso doméstico destinado al sector de la televisión digital por cable. Por
desgracia, la idea resultó ser demasiado avanzada para el momento y el sector de la televisión digital por cable no
estaba listo para el gran avance que la tecnología Java les ofrecía.
Pero poco tiempo después Internet estaba listo para la tecnología Java y, justo a tiempo para su presentación en
público en 1995, el equipo pudo anunciar que el navegador Netscape Navigator incorporaría la tecnología Java.
Java fue diseñado como software para dispositivos electrónicos de consumo. Curiosamente, todo este lenguaje fue
diseñado antes de que diese comienzo la era World Wide Web, puesto que fue diseñado para dispositivos
electrónicos como calculadoras, microondas y la televisión interactiva.

Tres de las principales razones que llevaron a crear Java son:

1. Creciente necesidad de interfaces mucho más cómodas e intuitivas que los sistemas de ventanas que
proliferaban hasta el momento.
2. Fiabilidad del código y facilidad de desarrollo. Gosling observó que muchas de las características que ofrecían C o
C++ aumentaban de forma alarmante el gran coste de pruebas y depuración. Por ello en los sus ratos libres creó un
lenguaje de programación donde intentaba solucionar los fallos que encontraba en C++.
3. Enorme diversidad de controladores electrónicos. Los dispositivos electrónicos se controlan mediante la utilización
de microprocesadores de bajo precio y reducidas prestaciones, que varían cada poco tiempo y que utilizan
diversos conjuntos de instrucciones. Java permite escribir un código común para todos los dispositivos.

Por todo ello, en lugar de tratar únicamente de optimizar las técnicas de desarrollo y dar por sentada la utilización
de C o C++, el equipo de Gosling se planteó que tal vez los lenguajes existentes eran demasiado complicados
como para conseguir reducir de forma apreciable la complejidad de desarrollo asociada a ese campo. Por este
motivo, su primera propuesta fue idear un nuevo lenguaje de programación lo más sencillo posible, con el objeto
de que se pudiese adaptar con facilidad a cualquier entorno de ejecución.

Basándose en el conocimiento y estudio de gran cantidad de lenguajes, este grupo decidió recoger las
características esenciales que debía tener un lenguaje de programación moderno y potente, pero eliminando todas
aquellas funciones que no eran absolutamente imprescindibles.

Primeros proyectos en que se aplicó Java

El proyecto Green fue el primero en el que se aplicó Java, y consistía en un sistema de control completo de los
aparatos electrónicos y el entorno de un hogar. Con este fin se construyó un ordenador experimental denominado *7
(Star Seven). El sistema presentaba una interfaz basada en la representación de la casa de forma animada y el
control se llevaba a cabo mediante una pantalla sensible al tacto. En el sistema aparecía ya Duke, la actual
mascota de Java.

Más tarde Java se aplicó a otro proyecto denominado VOD (Video On Demand) en el que se empleaba como
interfaz para la televisión interactiva que se pensaba iba a ser el principal campo de aplicación de Java. Ninguno de
estos proyectos se convirtió nunca en un sistema comercial, pero fueron desarrollados enteramente en un Java
primitivo.

Página 4/9
Java, su historia, ediciones, versiones y características como plataforma y lenguaje de programación @ Club Desarrolladores

Una vez que en Sun se dieron cuenta de que a corto plazo la televisión interactiva no iba a ser un gran éxito,
instaron a FirstPerson a desarrollar nuevas estrategias que produjeran beneficios. Entre ellas se encontraba la
aplicación de Java a Internet, la cual no se consideró productiva en ese momento.

Resurgimiento de Java

Aunque muchas de las fuentes consultadas señalan que Java no llegó a caer en un olvido, lo cierto es que tuvo
que ser Bill Joy (cofundador de Sun y uno de los desarrolladores principales del sistema operativo Unix de
Berckley) el que sacó a Java del letargo en que estaba sumido. Joy juzgó que Internet podría llegar a ser el campo
adecuado para disputar a Microsoft su primacía en el terreno del software, y vio en Oak el instrumento idóneo para
llevar a cabo estos planes.
Para poder presentarlo en sociedad se tuvo que modificar el nombre de este lenguaje de programación y se tuvo
que realizar una serie de modificaciones de diseño para poderlo adaptar al propósito mencionado. Así Java fue
presentado en sociedad en agosto de 1995.

Algunas de las razones que llevaron a Bill Joy a pensar que Java podría llegar a ser rentable son:

* Java es un lenguaje orientado a objetos: Esto es lo que facilita abordar la resolución de cualquier tipo de problema.
* Es un lenguaje sencillo, aunque sin duda potente.
* La ejecución del código Java es segura y fiable: Los programas no acceden directamente a la memoria del
ordenador, siendo imposible que un programa escrito en Java pueda acceder a los recursos del ordenador sin que
esta operación le sea permitida de forma explícita. De este modo, los datos del usuario quedan a salvo de la
existencia de virus escritos en Java. La ejecución segura y controlada del código Java es una característica única,
que no puede encontrarse en ninguna otra tecnología.
* Es totalmente multiplataforma: Es un lenguaje sencillo, por lo que el entorno necesario para su ejecución es de
pequeño tamaño y puede adaptarse incluso al interior de un navegador.

Java en código abierto

Java se ha convertido en un lenguaje con una implantación masiva en todos los entornos (personales y
empresariales). El control que mantiene Sun sobre éste genera reticencias en la comunidad de empresas con
fuertes intereses en Java (pe IBM, Oracle) y obviamente en la comunidad de desarrolladores de software libre.
La evolución basada en un comité en el que participen todos los implicados no es suficiente y la comunidad
demandaba desde hace tiempo la liberación de las APIs y librerías básicas de la JDK.

En diciembre de 2006, Sun está en pleno relanzamiento de su plataforma Java bajo la licencia GPL de GNU.
Cuando este cambio de licencia haya terminado.

Compromiso de Sun Microsystems con el código abierto


La importancia del código abierto en relación con Java puede verse entre otras cosas, en que el presidente y CEO de
Sun, Jonathan Schwartz, ha retado a la compañía a que ofrezca código abierto para todo el software que produce
Sun (fuente), Sun ya hace mucho tiempo que empezó a apostar por el código abierto cuando liberó StarOffice
(Llamado ahora OpenOffice).
Sun ha aportado más líneas de código abierto que cualquier otra organización.

¿Cuáles son las diferencias entre JRE y SDK?

Además de la amplia terminología individual que existe en Java, existen diversos componentes ("KITS") que
agrupan estas funcionalidades, y son estos componentes con los que se trabaja "día a día" en proyectos Java.
JRE ("Java Runtime Environment")

Página 5/9
Java, su historia, ediciones, versiones y características como plataforma y lenguaje de programación @ Club Desarrolladores

Como su nombre lo indica este ambiente ("KIT") es utilizado solo para ejecutar ("Runtime") programas en Java.
Esta situación se da cuando empresas de Software diseñan alguna interfase gráfica o aplicación en Java para su
producto. Cabe mencionar que muchos productos que utilizan Java para su interfase gráfica o instalación ya
incluyen un JRE para evitarle la molestia de instalarlo, uno de estos es Oracle ; sin embargo, muchos productos
requieren que usted posea este ambiente, si se pregunta: Porque me hacen que obtenga forzosamente este JRE
? Una de las principales razones es costo ya que las empresas deben pagar a Sun por distribuir este ambiente en
su producto.

"Java Development Kit"(JDK), "Standard Development Kit" (SDK) y "Java 2 Standard Edition" (J2SE) son nombres
para el mismo componente e incluyen: El API de Java, el JRE ( JVM ), compilador de Java y otras funcionalidades
definidas por Sun. Si no esta familiarizado programando en Java, el API de Java es un conjunto de clases que es
utilizado para generar programas básicos en el lenguaje; utilizando una analogía, estas clases tienen la misma
funcionalidad que las funciones|clases estándar utilizadas en otros lenguajes C,C++, Perl (Esto es precisamente
la definición de API ("Application Programming Interface")).

Partiendo de estas clases (API de Java) se generan TODOS los programas,interfaces y elementos programados
en Java, inclusive a partir de estas clases usted puede definir otras clases especificas que serán utilizadas por su
programa o producto. Una vez que defina sus programas|clases en Java aún es necesario compilarlas para
producir lo que es denominado byte-code o class files (este byte-code puede ser comparado con un binario), y es
este byte-code el que interpreta el JRE("Java Runtime Environment").Este byte-code es el que directamente
ofrece la interoperabilidad de Java o el afamado "Write once run everywhere" (Escribalo una vez ejecutelo en
todos lados).

Es una cantidad razonable de trabajo la que realiza el JDK|SDK, y por el hecho de incluir tanto el compilador,API
Java y el JRE existen diversas implementaciones de JDK: JDK's de Sun (o J2SE) y JDK's de IBM.

¿Qué ediciones de Java tenemos a nuestra disposición?

Existen varias Ediciones de Java, cada una de ellas diseñada para cierto ambiente en particular. Estas ediciones
son:

* Java Standard Edition (Java SE)


* Java Micro Edition (Java ME)
* Java Entreprise Edition (Java EE)
* Java Card

Java Standard Edition es la edición que se emplea en computadoras personales (desktops y laptops). Se le conoce
también como Java Desktop (escritorio) y es la versión que tienes que instalar para poder programar en Java en tu
computadora, aunque tus programas estén destinados para alguna de las otras ediciones. Java Platform,
Standard Edition o Java SE (conocido anteriormente hasta la versión 5.0 como Plataforma Java 2, Standard Edition
o J2SE), es una colección de APIs del lenguaje de programación Java utiles para muchos programas de la
Plataforma Java. La Plataforma Java 2, Enterprise Edition incluye todas las clases en el Java SE, además de
algunas de las cuales son útiles para programas que se ejecutan en servidores sobre workstations.

Java Micro Edition es la edición que se emplea en dispositivos móviles, tales como los teléfonos celulares. Es una
versión recortada del Java SE con ciertas extensiones enfocadas a las necesidades particulares de esos tipos de
dispositivos.
La plataforma Java Micro Edition, o Java ME (anteriormente J2ME), es una colección de APIs en Java orientadas a
productos de consumo como PDAs, teléfonos móviles o electrodomésticos.
Java ME se ha convertido en una buena opción para crear juegos en teléfonos móviles debido a que se puede
emular en un PC durante la fase de desarrollo y luego subirlos fácilmente al teléfono. Al utilizar tecnologías Java
el desarrollo de aplicaciones o videojuegos con estas APIs resulta bastante económico de portar a otros dispositivos.

Java Enterprise Edition es la edición que se emplea para hacer aplicaciones. Incluye a toda la Standard Edition y

Página 6/9
Java, su historia, ediciones, versiones y características como plataforma y lenguaje de programación @ Club Desarrolladores

muchas, muchas más extensiones.


J2EE es un grupo de especificaciones diseñadas por Sun que permiten la creación de aplicaciones empresariales,
esto sería: acceso a base de datos (JDBC), utilización de directorios distribuidos (JNDI), acceso a métodos remotos
(RMI/CORBA), funciones de correo electrónico (JavaMail), aplicaciones Web(JSP y Servlets)...etc. Aquí es
importante notar que J2EE es solo una especificación, esto permite que diversos productos sean diseñados
alrededor de estas especificaciones algunos son Tomcat y Weblogic ; la especificación más reciente de Sun es
J2EE 1.4, la cual esta conformada por: JSP 2.0 ,Servlet 2.4, EJB 2.1 y Connector 1.5 entre otros API's, los detalles
se encuentran en http://java.sun.com/j2ee
Aunque varios productos Java están diseñados alrededor de estas especificaciones, no todos cumplen con el
estándar completo, esto es, Tomcat solo emplea|cumple las especificaciones de JSP y Servlets, sin embargo,
existen productos como Websphere y algunos otros "Java Application Servers" que son considerados "Fully J2EE
Compliant" , en otras palabras, cumplen con todas las especificaciones definidas por Sun.
Sun ofrece una implementación de TODAS estas especificaciones llamada J2EE SDK , a pesar que el J2EE SDK
es una implementación, esta es solo una muestra ofrecida por Sun para utilizar las funcionalidades de las
especificaciones J2EE, aunque funcionaría en un Sistema de Producción su diseño es poco escalable además que
su licencia lo prohibe.

Java Card es la versión de Java enfocada a aplicaciones que se ejecutan en tarjetas de crédito con chip. Es una
versión muy recortada de Java. Una Java Card es una tarjeta capaz de ejecutar mini-aplicaciones Java. En este tipo
de tarjetas el sistema operativo es una pequeña máquina virtual Java (JVM) y en ellas se pueden cargar
dinámicamente aplicaciones desarrolladas específicamente para este entorno.

Versiones de Java

Java 1

Java 1.0 (Enero 1996) - 8 paquetes, 212 clases -


Primera versión pública. La presión hizo que se hiciera pública demasiado pronto, lo cual significa que el diseño
del lenguaje no es demasiado bueno y hay montones de errores. Respecto a seguridad, es restrictivo por defecto,
no dejando hacer demasiado al código no fiable.

Java 1.1 (Marzo 1997) - 23 paquetes, 504 clases -


Mejoras de rendimiento en la JVM, nuevo modelo de eventos en AWT, clases anidadas, serialización de objetos,
API de JavaBeans, archivos jar, internacionalización, API Reflection (Reflexión), JDBC (Java Data base
Connectivity), RMI (Remote Method Invocation). Se añade la firma del código y la autentificación. Es la primera
versión lo suficientemente estable y robusta.

Java 2

Java 1.2 (Diciembre 1998 ) - 59 paquetes, 1520 clases -


JFC (Swing), Drag and Drop, Java2D, Corba, API Collections. Se producen notables mejoras a todos los niveles.
Para enfatizar esto Sun lo renombra como "Java 2". El JDK (Java Development Kit) se renombra como SDK
(Software Development Kit). Se divide en J2SE, J2EE y J2ME.

Java 1.3 (Abril 2000) - 77 paquetes, 1595 clases -


Orientada sobre todo a la resolución de errores y a la mejora del rendimiento; se producen algunos cambios
menores como la inclusión de JNDI (Java Naming and Directory Interface) y la API Java Sound. También incluye
un nuevo compilador de alto rendimiento JIT (Just In Time).

Java 1.4 (2002) - 103 paquetes, 2175 clases -


También conocido como Merlin, es la versión actual. Mejora notablemente el rendimiento y añade entre otros
soporte de expresiones regulares, una nueva API de entrada/salida de bajo nivel (NIO, New I/O), clases para el
trabajo con Collections, procesado de XML; y mejoras de seguridad como el soporte para la criptografía mediante
las Java Cryptography Extension (JCE), la inclusión de la Java Secure Socket Extension (JSSE) y el Java

Página 7/9
Java, su historia, ediciones, versiones y características como plataforma y lenguaje de programación @ Club Desarrolladores

Authentication and Authorization Service (JAAS).

Java 1.5 (Octubre 2004) - 131 paquetes, 2656 clases -


También conocido como Tiger, renombrado por motivos de marketing como Java 5.0.
Incluye como principales novedades: tipos genéricos (generics), autoboxing/unboxing conversiones impliticas
entre tipos primitivos y los wrappers correspondientes, Enumerados, Bucles simplificados, printf, Funciones con
número de parámetros variable, Metadatos en clases y métodos.

Java 1.6 (diciembre de 2006) ?


También conocido como Mustang. Estuvo en desarrollo bajo la JSR 270. En esta versión, Sun cambió el nombre
"J2SE" por Java SE y eliminó el ".0" del número de versión.
Los cambios más importantes introducidos en esta versión son: Incluye un nuevo marco de trabajo y APIs que
hacen posible la combinación de Java con lenguajes dinámicos como PHP, Python, Ruby y JavaScript. Incluye el
motor Rhino, de Mozilla, una implementación de Javascript en Java. Incluye un cliente completo de Servicios Web y
soporta las últimas especificaciones para Servicios Web, como JAX-WS 2.0, JAXB 2.0, STAX y JAXP. Mejoras en
la interfaz gráfica y en el rendimiento.

IDE's

Mientras un JDK|SDK ofrece las herramientas para compilar y ejecutar programas en Java éste no ofrece un
ambiente de trabajo para proyectos complejos, esto es, si usted compila una o dos clases quizás el comando
javac ofrecido en los JDK es suficiente, pero si su proyecto estará compuesto por 100 o 200 clases, javac sería
muy deficiente. Los IDE's (Integrated Development Environment) ofrecen un ambiente gráfico en los que se tiene
acceso a mayor número de herramientas no ofrecidas en los JDK's: Debuggers más elaborados, check-points
dentro de la compilación,creación de WAR's (Web-Archives), "Wizards" para acelerar desarrollo, entre otras cosas.

Algunos IDE's son:

NetBeans (http://www.netbeans.org) Open-Source

Eclipse (http://www.eclipse.org) Open-Source

Sun Java Studio (http://developers.sun.com/jsenterprise/index.jsp) de Sun

JBuilder (http://www.codegear.com/products/jbuilder) de Borland

WebSphere Studio (http://www-306.ibm.com/software/awdtools/developer/application/) de IBM

JDeveloper (http://www.oracle.com/technology/products/jdev/index.html) de Oracle

Conclusiones finales

Actualmente, luego de cumplidos 10 años de existencia, la plataforma Java ha atraído a cerca de 4 millones de
desarrolladores de software, se utiliza en los principales sectores de la industria de todo el mundo y está presente
en un gran número de dispositivos, ordenadores y redes de cualquier tecnología de programación.

De hecho, su versatilidad y eficiencia, la portabilidad de su plataforma y la seguridad que aporta, la han convertido
en la tecnología ideal para su aplicación a redes, de manera que hoy en día, más de 2.500 millones de dispositivos
utilizan la tecnología Java.

* Más de 700 millones de ordenadores


* 708 millones de teléfonos móviles y otros dispositivos de mano
* 1000 millones de tarjetas inteligentes

Página 8/9
Java, su historia, ediciones, versiones y características como plataforma y lenguaje de programación @ Club Desarrolladores

* Además de sintonizadores, impresoras, web cams, juegos, sistemas de navegación para automóviles, terminales
de lotería, dispositivos médicos, cajeros de pago en aparcamientos, etc.

Hoy en día, puede encontrar la tecnología Java en redes y dispositivos que comprenden desde Internet y
superordenadores científicos hasta portátiles y teléfonos móviles; desde simuladores de mercado en Wall Street
hasta juegos de uso doméstico y tarjetas de crédito: Java está en todas partes.

Bibliografía:

Wikipedia - Lenguaje de programación Java


Google
Java
Historia de Java
Osmosis Latina
Resurgimiento de Java
Codigo libre

Sobre el autor

Gastón tiene 28 años, vive en Argentina / Santa Fe / Santa Fe y su ocupación es Desarrollador de


aplicaciones web.

Ha publicado 31 artículos en clubdesarrolladores con un promedio de valoración de 7.80 puntos. Puedes


visitar su sitio web en http://www.clubdesarrolladores.com

Descargado de Club Desarrolladores - Visitanos en http://www.clubdesarrolladores.com

Página 9/9

You might also like