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.