Buscar
Social
Ofertas laborales ES
« Centric CRM 2.9 liberado como Open Source | Main | Liberado HttpUnit 1.6 »
martes
oct052004

Una no tan breve historia de Java

Una no tan breve historia de Java, (publicado originalmente por Zootropo)





Hace unos dýas la gente de Sun liberý la nueva versrión de su producto estrella, Java 1.5. Con motivo de esto, os dejo una pequeña entrada sobre su historia, basada sobre todo en la versrión de Patrick Naughton y un par de conferencias de James Gosling, y que si tengo tiempo y ganas podrýa ser el comienzo de un tutorial de Java.





Prehistoria



En Diciembre de 1990 un ingeniero de Sun Microsystems llamado Patrick Naughton enviaba un correo electrýnico a Scott McNealy, CEO de Sun Microsystems, explicýndole las razones de su marcha para trabajar en NeXT, una empresa fundada por Steve Jobs después de ýrenunciarý en Apple, cuyo objetivo era crear el computador perfecto, y que mas tarde seráa comprada por Apple junto con el sistema operativo desarrollado, NeXT Step, para crear su nuevo sistema operativo.

Naughton era jefe de proyecto de la seccrión grýfica en un grupo dedicado a unir NeWS (Networked/extensible Window System), un sistema de ventanas de Sun inventado por James Gosling y basado en PostScript, con X11 (X window System versrión 11), lo cual significaba que tenýan que soportar ýtres toolkits, tres sistemas de ventanas, tres arquitecturas hardware diferentes, dos interfaces de usuario y dos versiones de sistemas operativos diferentes".

Como respuesta, Bill Joy le ofrece continuar en Sun trabajando en algo nuevo, unrióndose a un nuevo grupo para desarrollar una nueva ttecnología. Un grupo con total autonomía respecto de la línea directiva de Sun y completamente secreto. Así nace el llamado Proyecto Stealth.





El 15 de Enero de 1991 Bill Joy, Andy Bechtolsheim, Wayne Rosing, Mike Sheridan, James Gosling y Patrick Naughton se reunen en Aspen, Colorado. El grupo quiere anticipar hacia donde se dirijirý la computacrión. Discuten sobre que les gusta y que no les gusta de varias tecnologias y al final llegan a la conclusrión de que al menos una de las tendencias futuras será el acercamiento de sistemas digitales y electrýnica de consumo. Se marcan como objetivo desarrollar un entorno ýnico que pudiera ser utilizado por todos los dispositivos de electrýnica de consumo.

Con el objetivo marcado, los miembros del Proyecto Stealth, que mas tarde se pasaría a llamar Proyecto Green, comienzan a trabajar el 1 de Febrero de 1991 en una pequeña oficina de Sand Hill Road en Menlo Park. Se divide el trabajo con Naughton dedicado al sistema gráfico ¿Aspen", Gosling dedicado a identificar el lenguaje de programacrión a utilizar en el proyecto y Sheridan dedicado al desarrollo de negocio.

En un principio se considera C++ como lenguaje a utilizar, pero tanto Gosling como Bill Joy lo encontraron inadecuado. Gosling intentý primero extender y modificar C++ resultando el lenguaje C++ ++ ý (++ ý porque se añadían y eliminaban características a C++), pero lo abandonó para crear un nuevo lenguaje desde cero al que llamo Oak (Roble), según la versrión mas aceptada, por el roble que vería atravýs de la ventana de su despacho.



Oak debýa ser independiente de la plataforma, dado el gran nýmero de modelos en el mercado, por lo cual se optý por un lenguaje interpretado. Además el nuevo lenguaje debýa ser robusto y a la vez sencillo para evitar errores por parte del programador que pudieran llevar al cuelgue del sistema. Esto motivó que se eliminaran las características que hacýan el código mas propenso a errores, como la herencia múltiple.

El resultado fue un lenguaje que tenýa similitudes con C, C++ y Objective C y que no estaba ligado a un tipo de CPU concreta. Mas tarde se le cambiaría el nombre de Oak a Java, por cuestiones de propiedad intelectual, al existir ya un lenguaje con el nombre Oak. Se supone que le pusieron ese nombre mientras tomaban cafý (Java es tambrión el nombre de un tipo de cafý, originario del este de Asia, de la isla del mismo nombre), aunque hay algunos que afirman que el nombre deriva de las siglas de James Gosling, Arthur Van Hoff, y Andy Bechtolsheim.



FirstPerson



En Agosto del 91 Oak ya corrýa sus primeros programas. El equipo trabajaba en un prototipo llamado Star7 (*7), un dispositivo parecido a una PDA, cuyo nombre venýa de la combinación de teclas del telýfono de la oficina del Proyecto Green que permitýa a los usuarios responder al telýfono desde cualquier lugar.

Después de mostrar a Scott McNealy y Bill Joy los prototipos de bajo nivel del sistema, continýan con el desarrollo, incluyendo su sistema operativo, Green OS; el lenguaje Oak, las librerias, alguna aplicacrión býsica y el hardware, hasta que el 3 de Septiembre de 1992 se termina el desarrollo y con ello el Proyecto Green.

En la demostracrión para McNealy y Joy, aparecýa un personaje creado por Joe Palrang que terminaría por convertirse en la mascota de Java, Duke.

Después de la demostracrión se decide crear una nueva empresa filial de Sun, FirstPerson, con sede en Palo Alto, para comercializar la nueva ttecnología. Wayne Rosing, ex-jefe de Naughton en el grupo de trabajo de NeWs se une al proyecto desde SunLabs, asumiendo la direccrión del equipo y de la nueva empresa.

Ahora que ya habýan creado *7, quedaba la cuestrión de quý hacer con ýl. El que habýa sido el mercado objetivo durante la concepcrión de *7, la electrýnica de consumo, resultý no querer saber nada del nuevo producto porque disparaba los precios de los nuevos dispositivos. FirstPerson pasa de un desastre a otro sin encontrar un verdadero plan de negocio. El 15 de Marzo de 1993 Time Warner lanza un RFP (Request for Proposal) buscando una tecnologia para televisrión por cable interactiva. FirstPerson se fija como nuevo objetivo el desarrollo de un sistema operativo para Time-Warner, pero cuando llega la hora de la verdad Time-Warner se decantanta por GDI, arán reconociendo que la ttecnología de Sun era superior.

Tras el varapalo de Time-Warner se intenta vender *7 a 3DO pero después de meses de reuniones las negociaciones no llegan a buen puerto al exigir 3DO los derechos exclusivos de la ttecnología. Como ýltimo recurso se presenta como alternativa a los ejecutivos de Sun el desarrollo de una plataforma de CD-ROMs multimedia basada en Oak pero la respuesta de estos no es favorable y se desmantela FirstPerson.





El nacimiento de Java



Mientras tanto, NCSA (National Center for Supercomputing Applications) liberaba Mosaic, una aplicacrión que permitýa a los usuarios acceder a Internet de forma grýfica, pudiendo acceder a cientos de sitios de Internet en la World Wide Web. El nýmero de sitios web crecýa dýa a dýa e Internet comenzaba a convertirse en un fenýmeno.

En Junio de 94 Joy comienza el proyecto ýLive Oaký con el objetivo de usar Oak para construir un ýpequeño gran sistema operativoír y estudiar las posibilidades de negocio de Internet. Mientras Arthur van Hoff implementa el compilador de Oak en lenguaje Oak, reemplazando la versrión de Gosling que se habýa escrito en C, Naughton y Jonathon Payne comienzan a escribir un navegador web similar a Mosaic escrito en Java, ýWebRunnerý (por la película Blade Runner) al que después se llamaría ýHotJava".



El 29 de Septiembre de 1994 se termina el desarrollo del prototipo de HotJava. Cuando se hace la demostracrión a los ejecutivos de Sun, esta vez, se reconoce el potencial de Java y se acepta el proyecto.

El 23 Mayo de 1995, en la conferencia SunWorld ý95, John Gage, de Sun Microsystems, y Marc Andreessen, cofundador y vicepresidente de Netscape, anunciaban la versrión alpha de Java, que en ese momento solo corrýa en Solaris, y el hecho de que Java iba a ser incorporado en Netscape Navigator, el navegador mas utilizado de Internet.

Con la segunda alpha de Java en Julio, se añade el soporte para Windows NT y en la tercera, en Agosto, para Windows 95. En Enero de 1996, Sun crea JavaSoft para desarrollar la nueva ttecnología y ese mismo mes aparece la versrión 1.0 del JDK.

El resto, es historia.



Versiones de Java





  • Java 1



    • Java 1.0 (Enero 1996) - 8 paquetes, 212 clases - Primera versrión pýblica. La presrió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, serializacrión de objetos, API de JavaBeans, archivos jar, internacionalizacrión, API Reflection (Reflexrión), JDBC (Java Data base Connectivity), RMI (Remote Method Invocation). Se añade la firma del código y la autentificacrión. Es la primera versrió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 resolucrión de errores y a la mejora del rendimiento; se producen algunos cambios menores como la inclusrión de JNDI (Java Naming and Directory Interface) y la API Java Sound. Tambrión incluye un nuevo compilador de alto rendimiento JIT (Just In Time).


    • Java 1.4 (2002) - 103 paquetes, 2175 clases - Tambrión conocido como Merlin, es la versrió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 inclusrión de la Java Secure Socket Extension (JSSE) y el Java Authentication and Authorization Service (JAAS).


    • Java 1.5 (Octubre 2004) - 131 paquetes, 2656 clases - Tambrió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.












Para saber mas sobre las novedades de Java 5.0 se puede consultar las release notes o el documento J2SE 5.0 in a Nutshell

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.