ÍNDICE 
 AUTORES 

Guía de iniciación al Lenguaje Java en formato HTML

PARTE I: Introducción

2. Historia de Java

Contenidos de esta página:

A. COMIENZOS *

B. PROYECTOS EN LOS QUE SE APLICÓ INICIALMENTE JAVA. *

C. RESURGIMIENTO DE JAVA *

D. JAVA PUDO SER FRUTO DE LA CASUALIDAD *

E. FUTURO DE JAVA *

A. COMIENZOS

Java fue diseñado por James Gosling, de Sun Microsystems, en 1990, 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 entre otros. [Cuenca, 1997]

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.

Inicialmente Java se llamó OAK (roble en inglés), aunque tuvo que cambiar debido a la existencia de que dicho nombre ya estaba registrada por otra empresa. Se dice que el nombre original fue roble en inglés debido a la existencia de tal árbol en los alrededores del lugar de trabajo de los promotores de tal lenguaje.

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

Creciente necesidad de interfaces mucho más cómodos e intuitivos que los sistemas de ventanas que proliferaban hasta el momento.

Fiabilidad del código y facilidad de desarrollo. Gosling observó que muchas de las características que ofrecían C o C++ para este tipo de dispositivos 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++.

El funcionamiento de dispositivos electrónicos se controla mediante la utilización de microprocesadores de bajo precio y reducidas prestaciones, de los que existe una diversidad abrumadora. Además, se desarrollan nuevos modelos más perfeccionados y baratos cada pocas semanas y los fabricantes tratan siempre de aprovecharlos para reducir costes en las grandes producciones que realizan. Sin embargo, las diferentes familias de microprocesadores emplean un juego de instrucciones diferentes, e incluso las nuevas versiones de modelos antiguos suelen añadir o modificar instrucciones para aprovechar al máximo las nuevas posibilidades de los chips. Por este motivo, el software escrito debe ser revisado por completo antes de poder utilizarlo en otro. Naturalmente, la existencia de compiladores alivia esta labor, facilitando la utilización de C en lugar de ensamblador, pero esto no es suficiente: muchas de las diferencias básicas entre microprocesadores (direcciones concretas de memoria, tamaño y número de registros, acceso a puertos de entrada/salida) se manifiestan directamente en el código C, del que debe desarrollarse una nueva versión para cada chip que desea utilizarse.

Por todo ello, en lugar de tratar únicamente de optimizar las técnicas de desarrollo y dar por sentado la utilización de C o C++, el equipo de Gosling se planteó que tal vez estos lenguajes eran demasiado complicados como para conseguir reducir de forma apreciable la complejidad asociada a este 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.

B. PROYECTOS EN LOS QUE SE APLICÓ INICIALMENTE JAVA.

El proyecto Green fue el primero en el que 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, como hemos comentado anteriormente, 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.

Una vez que en Sun se dieron cuenta de que a corto plazo la televisión interactiva no iba a ser un gran éxito, urgieron a FirstPerson a desarrollar con rapidez nuevas estrategias que produjeran beneficios entre los que se encontraba su aplicación en Internet aunque, en ese momento no se juzgó productivo y FirstPerson cerró en la primavera de 1994. [Froufe, 1997]

C. 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 Berkeley, el que le sacó de él, ya que juzgó que Internet podría llegar a ser el campo de juego adecuado para disputar a Microsoft su primacía casi absoluta en el terreno del software, y vio en Oak el instrumento idóneo para llevar a cabo estos planes. Para poderlo presentar 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. Y 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:

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. Eso supone que Java es, verdaderamente, un lenguaje multiplataforma.

La sencillez no está reñida con la potencia. Java es un lenguaje orientado a objetos que permite abordar la resolución de cualquier tipo de problema.

La ejecución del código Java es segura y fiable, y los programas no acceden directamente a la memoria del ordenador. Esto facilita su confinamiento en una zona aislada, siendo imposible que un programa escrito en Java pueda acceder a los recursos del ordenador sin que esta operación le sea permitido de forma explícita. De este modo, los datos del usuario quedan a salvo de la existencia de posibles virus escritos en Java, que podrían traerse de Internet e forma inadvertida. La ejecución segura y controlada del código Java es una característica única, que no puede encontrarse en ninguna otra tecnología.

La integración de Java dentro de los navegadores más populares supuso por primera y única vez la posibilidad de realizar uno de los principales objetivos que se habían perseguido durante años: escribir un programa en cualquier parte y que éste pudiese funcionar sin cambios en cualquier otro ordenador independientemente de su marca y del sistema operativo utilizado. Las consecuencias de la utilización de Java junto a la expansión universal de Internet todavía están comenzando a vislumbrarse. [Froufe, 1997]

D. JAVA PUDO SER FRUTO DE LA CASUALIDAD

Puesto que se realizaron muchos esfuerzos en Java, y que, como se ha comentado, Java llegó a caer en el olvido, hay que señalar que únicamente la casualidad hizo que se llegara a encontrar una poderosa utilidad para este lenguaje de programación y que ofrece una gran solución a las expectativas de los usuarios de los ordenadores. [Froufe, 1997]

E. FUTURO DE JAVA

Existen muchas críticas a Java debido a su lenta velocidad de ejecución, aproximadamente unas 20 veces más lento que un programa en lenguaje C. Sun está trabajando intensamente en crear versiones de Java con una velocidad mayor.

El problema fundamental de Java es que utiliza bytecodes para solventar los problemas de portabilidad, que posteriormente en cada máquina se tendrán que transformar en código máquina, lo que ralentiza considerablemente el proceso de ejecución.

La solución que se deriva de esto parece bastante obvio: fabricar ordenadores capaces de comprender directamente los bytecodes, sería una máquina que utilizara Java como sistema operativo y que no requiriría en principio de disco duro porque regiría sus recursos de la red.

A los ordenadores que utilizan Java como sistema operativo se les llama Network Computer, WePC o WebTop.

La primera gran empresa que se ha dado cuenta de todo esto y ha apostado en esto ha sido Oracle, que en enero de 1996 presentó en Japón su primer NC (Network Computer), basado en un procesador RISC con 8 Mbytes de RAM. Tras Oracle, han sido compañías del tamaño de Sun, Apple e IBM las que han anunciado desarrollos similares.

Por ahora, toda esta tecnología está comenzando a desarrollarse, aunque en la actualidad los anchos de banda y el coste de la conexiones no favorecen demasiado estos ordenadores. No obstante todos estos problemas desaparecerán a corto plazo, y la actitud de Sun de mantener un sistema transparente y accesible a cualquier programador parece que van a ser determinantes en la comercialización de este tipo de sistemas.

La principal empresa en el mundo del software, Microsoft, que en los comienzos de Java no estaba a favor de su utilización, ha licenciado Java, lo ha incluido en Internet Explorer 3.0 y posteriores, y ha lanzado un entorno de desarrollo para Java, que se denomina Visual J++.

El único problema aparente es la seguridad para que Java se pueda utilizar para transacciones críticas. Sun va a apostar por firmas digitales, que será clave en el desarrollo no sólo de Java, sino de toda Internet.  [Framiñán, 1997]