JavaScript != Java

Aunque sus nombres son similares, no se parecen en nada. Ambos lenguajes son ampliamente utilizados en la actualidad, coincidentemente son contemporaneos, pero se utilizan en situaciones muy diferentes y de ninguna manera uno tiene que ver con el otro.

JavaScript fue desarrollado, por Netscape, para que las personas pudieran interactuar con las paginas web, sin necesidad de recargar toda la página. Necesitan un lenguaje que se ejecutará del lado del cliente(browser), que de alguna manera «le dijera» a la página, como debía reaccionar a ciertas acciones del cliente.
De esta manera en diciembre del año 1995, la versión 2.0B3 de Netscape fue la primera en incluir un interprete, que permitiá ejecutar instrucciones de un lenguaje de programación en una página web, a este lenguaje le dieron el nombre de, LiveScript, con esto cualquier persona que estuviera utilizando la última versión de Netscape, podián interactuar con páginas que ulizaban LiveScript, sin necesidad de instalar ningún tipo de plug-in.
Para variar mis estimados amigos del browser de la E azul, intentaron hacer lo mismo y 9 meses después en agosto de 1996, su browser incluia un interprete para un lenguaje llamado vbscript, cuya sintaxis era similar a la de LiveScript, y que entre algunas otras cosas permitio la creacion del worm ILoveYou (pero esa es otra historia).

Java fue desarrollado por Sun Microsystems, y sus inicios se registran a mediados del año 1992, como parte de un proyecto de investigación y desarrollo tecnológico. La idea era crear un lenguaje de programación que fuera capaz de correr independientemente de la arquitectura del microprocesador. Fue desarrollado por James Gosling y originalmente su nombre fue Oak.
El nacimiento oficial de Java fue el 23 de Mayo de 1995. En sus inicios fue utilizado para el desarrollo de aplicaciones en el Internet, muy famosas en su tiempo, llamadas Applets, que necesitaban un plug-in para poder funcionar, que al inicio se llamo HotJava y luego se convirtio en un concepto muchisimo más amplio y que ahora conocemos con el nombre de Java Virtual Machine.

De alli en adelante el nombre de Java comenzo a ser muy conocido, en muchas páginas se empezaron a utilizar los Applets. Netscape anunció que su browser soportaría Java a partir de la version 3, y también renombro su lenguaje LiveScript a JavaScript.(Este fue el BOOM para Java)

JavaScript se convirtio en un lenguaje éstandar de scripting (ECMAScript o ECMA-262), y cada web browser hace su propia implementación. Con lo cual podemos decir que JavaScript es la implementacion de ECMAScript de NetScape, y JScript es la implementacion de ECMAScript de mis amigos del browser de la e azul. Y es por eso que algunas instrucciones de JavaScript no funcionan en algunos browsers.

JavaScript y Java tienen diferencias fundamentales muy muy muy marcadas. Empezando porque JavaScript es un lenguaje interpretado y muy poco estricto en la sintaxis del lenguaje(da lo mismo escribir ‘Document’ que ‘document’), e importante solo funciona en un Web Browser, la intepretación la hace cada browser como se le pegue la gana.

Java es un lenguaje de programación Orientado a Objetos, que se compila (no se interpreta, se compila para obtener ByteCode), es un lenguaje muy estricto en su sintaxis(ni en broma significa lo mismo escribir ‘Document’ que ‘document’), y sobre todo, estoy seguro que el Browser donde usted esta leyendo esto, es Java Enabled, y no solo el Browser, su computadora también es casi seguro que tiene instalada la Virtual Machine, su celular es casi seguro que tambien soporta Java(donde?? metase a los Juegos, algunos ringtones, muy posiblemente el menú de su celular este hecho en Java, etc.), 8 de cada 10 celulares son Java Enabled, y no solo los celulares, actualmente existen aprox. 4.8 billones de dispositivos Java Enabled.

En los proximos años, los más de 3 billones de habitantes del planeta que aún no han tenido ningún tipo de contacto con el Internet, es muy probable que su primera experiencia con Internet, sea por medio de un dispositivo movil, y es casi seguro que va ha ser un dispositivo Java Enable. Hace poco me entere por un blog que leo periódicamente, que Java es el lenguaje más popular en SourceForce.

Con Java se desarrollan cualquier tipo de apliaciones, Aplicaciones de Escritorio, Aplicaciones para el Internet, Aplicaciones para Celular, Aplicaciones Cientificas, juguetes, televisores, relojes, aviones, camaras, etc. incluso hay aplicaciones hecha en Java que han llegado a Marte con la NASA, y desde entonces se dice que «Java Is Everywhere«. Java en si es un mundo de tecnologias.

Porque escribo todo esto de Java???? No es porque yo sea fan de Java y que quiera hacer de menos a JavaScript. De hecho JavaScript últimamente ha tenido un crecimiento increible con el rápido desarrollo de aplicaciones AJAX. Y Java y JavaScript se llevan muy bien con los nuevos componentes JSF(Java Server Faces) AJAX Enabled.

Escribo esto porque estoy harto de encontrarme personas que piensan que JavaScript es lo mismo que Java. Y me molesta aun más cuando son personas que llevan mucho tiempo trabajando en el mundo de la tecnología. Y si es cierto no es su culpa, los terminos tienen a confundirlo a uno, pero si no lo saben no lo supongan por favor!!!! Y lo peor peor peor, es encontrarme a un desarrollador, a un programador, aún tipo que debería de entender las diferencias básicas entre un lenguaje interpretado y uno compilado, que piensa que porque se disparó un su script en una página web esta programando en Java(Eso no es cierto). Por esas personas lo escribo, porque talvez no existía un lugar donde lo pudieran saber. Este post no es desahogo, es una Gran Aclaración, de que JavaScript Y Java NO SON LO MISMO!!!!!!!!!!!!

Para dejarlo claro…

  • JavaScritp no es Java
  • JavaScript no es un «subset» de Java
  • JavaScript no es una version «más light» de Java
  • Programar JavaScript no es programar en Java
  • JavaScript no es un lenguaje «más sencillo» de Java para «hacer» páginas web
  • Programar en JavaScript no implica saber programar en Java
  • Ni Programar en Java implica saber programar JavaScript

JavaScript y Java son tecnología ampliamente utilizadas en la actulidad, pero son dos cosas completamente diferentes.

Y quien es Duke?. Varias personas me ha hecho esta pregunta. En pocas palabras Duke es la Mascota Oficial de Java. Duke fue creado, en le año de 1992, para aparecer en un dispositivo llamado *7 (Star Seven), creado por un grupo secreto de programadores de Sun Microsystem, llamado The Green Project. Lo que buscaba este grupo de programadores, era adelantarse a la siguiente ola de la computación.*7 (Star Seven), era un dispositivo inalambrico que permitia controlar dispositivos electrónicos, por medio del uso de una pantalla touch-screen animada, el corazón de toda esta interfaz, era Duke. Duke le dio algo así como una personalidad a la interfaz, Duke era «el agente de Software», era el que «hacia» las cosas que el usuario pedia por medio de la pantalla animada. Uno podia arrastrar a Duke hacia el icono del televisor, y entonces parecia todo la programación del televisor, o podia arrastralo al icono del teléfono y aparecia la agenda telefónica. En aquel tiempo donde el contendio en el internet era estático, ver a Duke dando vueltas por la pantalla era realmente impresionante. Duke podía moverse e interactuar con toda la interfaz, incluso tenia un maletin para llevar las cosas importantes dentro del maletin. (Luego otra compañia, años despues de la creación de Duke, intentó hacer algo paracido al «agente», únicamente que con forma de un Clip para Papel, que únicamente servia para acceder al menú de ayuda).
De alli en adelante lo demás es historia, el *7, fue programado con un lenguaje independiente de la plataforma, el cual su primer nombre fue Oak, y luego evolucionó a lo que hoy conocemos como Java. Y así Duke, se convirtió, en amigo de nosotros los programadores de Java. Duke representa en sí, toda una filosofia de programación, hasta la fecha nunca ha aparecido promocionando otro producto que no sea Java, únicamente aparecía para los anuncios y eventos especiales y apoyaba las causas en las que el creia. Duke pertenece a una elite, anualmente se entregan premios que llevan su nombre(Duke’s Choice Awards) a los mejores productos desarrollados con Java.
Duke incluso tiene su propio Blog, Duke’s Zone.
Personalmente me siento muy identificado con Duke, y me ha agarrado por sopresa enterarme, que no solo las implementaciones de Java son OpenSource, si no tambien la imagen de Duke ahora es OpenSource(Free Graphics), bajo la licencia BSD. Lo cual significa que ahora, cualquiera puede hacer las modificaciones que desea a la imagen de Duke.
Les dejo unos links para que puedan bajar las imagenes de Duke, un link donde ahora se pueden comprar playeras con la imagen de Duke,ya saben que regalarme para navidad =-) …. y termino con el post escrito por Duke al enterarse que ahora es Open source.

Open source me?

«Well it looks like I’ve been open sourced right along with Java technology. This means that all you Java developers, fans, enthusiasts, etc… have the original mascot for Java technology to play with and use in your code, on your webpage, or even on a t-shirt. What kind of Duke action can you imagination? I just ask that you treat my image with the same respect that Sun has.»

Hoy Sun Microsystem liberó el código, Java Platform bajo la licencia de OpenSource GPLv2. Efectivamente como ya se habia anunciado varios meses atras, todo el código que forma la plataforma de Java fue liberado, con la idea de insparar una nueva fase de innovación y colaboración entre desarrolladores.
La plataforma de Java se divide en tres grandes partes.
Java Standar Edition
Java Mobile Edition
Java Enterprise Edition
De las cuales hoy se liberó el código fuente de sus implementaciones. Algunas librerias que conforman el JDK (Java Devolpment Kit) aún no han sido liberadas, tendremos que esperar hasta el 2007. Pero las partes fundamentales, la Java Virtual Machine (HotSpot), el corazón de Java, la magia del código independiente de la arquitectura, la razón de ser de Java, fue liberado el día de hoy, así como tambien el Compilador de Java (javac) y el generador de archivos de ayuda JavaHelp (javadoc).

El desarrollo de Java, creado y liderado durante 10 años, por Sun Microsystems, ha sido liberado hoy, a la comunidad del OpenSource, convirtiendose en uno de los aportes más grandes de código, para esta comunidad. Java es una de las plataformas más dominantes del mercado, en la actualidad existen 3.8 Billones de dispositivos que utilizan Java, entre los cuales se encuentra, dispositivos móbiles, tarjetas inteligentes, aplicaciones empresariales, supercomputadoras y muchas otras aplicaciones, algunas incluso, fuera del planeta Tierra.

Este es un día para recordar, para todos aquellos que programamos en Java, y consideró que es un buen momento para repetir las palabras que un día dijo James Gosling, mejor conocido como el padre de Java.

«We didn’t really have a plan… We kind of figured that if we went and stood in an interesting place, something interesting would happend. And it did»

James Gosling
Java Key Architect

Vice President & Sun Fellow

Y hoy, aún después de 10 años, Java, nos sigue sorprendiendo!!!!!