Java y JavaScript ¿son lo mismo?
Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

Java y JavaScript ¿son lo mismo?

Java-JavaScript-Son-Lo-Mismo

Esta pregunta puede parecerle obvia a muchos, pero todavía hay cantidad de gente que no lo tiene claro...

Dado que comparten una palabra al principio de su nombre, muchas personas piensan que Java y JavaScript están relacionados, o que JavaScript es un subconjunto de Java y cosas parecidas... Nada más lejos de la realidad.

Java nació en el año 1991 en la empresa Sun Microsystems, de la mano de James Gosling. Su objetivo inicial era crear aplicaciones para receptores de televisión y dispositivos embebidos, aunque al final haya terminado funcionando en casi todas partes. Inicialmente iba a llamarse Oak, y luego Green, pero finalmente el nombre elegido es el que todos conocemos. La Wikipedia tiene información muy interesante sobre su historia y su nombre que te recomiendo que te leas.

JavaScript es un lenguaje de programación posterior, creado a mediados de los años ‘90 por Brendan Eich, de la empresa Netscape. Su objetivo era dotar de interactividad a las páginas web visualizadas con su navegador de Internet, Netscape Navigator, el líder del mercado por aquella época. Su nombre en código durante el desarrollo del lenguaje era Mocha, y pensaban lanzarlo finalmente como LiveScript, aunque al final se acabó denominando JavaScript por la gran influencia en su sintaxis por parte del lenguaje Java, aunque las similitudes son únicamente estéticas. En la actualidad, además de ser el lenguaje utilizado casi en exclusiva para añadir interactividad a las páginas Web, JavaScript se encuentra integrado en otras muchas aplicaciones además de los navegadores: servidores, lenguajes de programación de propósito específico como Node.js o sistemas operativos como Windows.

Bien es cierto que la gente de Netscape intentó aprovechar el tirón de marketing que ofrecía Java en aquel momento, y usando la palabra "Java" en el nombre del nuevo lenguaje pretendían darle un halo de seriedad. Me imagino que, dada la confusión que generaron, se arrepintieron pronto de su decisión y de no haberle dejado el nombre de LiveScript.

Aparte de esa raíz común en el nombre, Java y JavaScript son lenguajes totalmente diferentes. He aquí algunos ejemplos importantes de sus muchas diferencias:

  • JavaScript es un lenguaje interpretado, y Java es compilado. Para entendernos, y dicho muy básicamente, los programas JavaScript son archivos de texto que pueden leer tanto los ordenadores como las personas, mientras que los de Java se compilan a un archivo especial optimizado para que lo lea un ordenador y lo ejecute. Podríamos entrar en detalles de que Java se compila a un lenguaje intermedio llamado bytecode que es interpretado por un ejecutar JIT que facilita que sea multiplataforma, pero no es el objeto de este artículo y quiero mantenerlo intencionadamente simple.
  • Java se depura en dos fases y JavaScript en una. Como con todos los lenguajes interpretados, en JavaScript solamente sabes si has cometido inadvertidamente un error de sintaxis cuando vas a ejecutar el programa (salvo que uses herramientas especializadas como Visual Studio o WebStorm, que interpretan el código en segundo plano). En Java sin embargo, primero se realiza la fase de compilación, en la que el compilador ya indica los posibles errores de sintaxis que existan. Luego al ejecutar podrían surgir errores de lógica o de otra índole. En JavaScript todos ellos se depuran al mismo tiempo, haciéndolo más complicado.
  • Java es un lenguaje orientado a objetos puro, pero JavaScript está basado en prototipos. En realidad JavaScript debe simular muchas de las características de orientación a objetos que se dan en la mayoría de los lenguajes. A cambio proporciona diversos paradigmas de programación (funcional, imperativo, dinámico y orientado a objetos) lo que lo convierte en un lenguaje tremendamente versátil. De hecho en JavaScript es posible cambiar la "base" de la que hereda una clase en cualquier momento, afectando a todas, cosa imposible en la mayoría de los lenguajes orientados a objetos.
  • Java es fuertemente tipado, y JavaScript es débilmente tipado. En Java todas las variables tienen un tipo determinado y una vez definidas no se pueden cambiar. En JavaScript una misma variable puede contener primero un texto, luego un número, luego una fecha o un objeto, etc... Esto es un arma de doble filo pues permite una gran flexibilidad a cambio de muchos posibles errores si no tenemos cuidado.
  • Java tiene ámbito por bloque y JavaScript lo tiene por función: el acceso a las variables depende de dónde las hayamos definido. JavaScript tiene algunas reglas que pueden despistar bastante a los programadores de otros lenguajes.
  • JavaScript tiene clausuras, Java las acaba de incorporar. Uno de los conceptos más importantes en la programación con JavaScript (y en otros lenguajes) son las clausuras. Java no las tuvo hasta la versión 8 aparecida hace muy poco tiempo, que añadió también las funciones lambda, para dar soporte al paradigma de programación funcional.
  • Las funciones en JavaScript son multi-argumento siempre. En Java es necesario indicarlo.
  • JavaScript es estándar, Java no. El control del lenguaje JavaScript lo lleva la organización sin ánimo de lucro European Computer Manufacturers Association (ECMA). De hecho su nombre oficial es ECMAScript, y está estandarizado. Por el contrario el control sobre Java lo tiene Oracle, una empresa privada que decide a su antojo lo que se hace con él.

En resumen, y para dejar bien clara la diferencia sin palabras técnicas, desmiento a continuación algunos falsos mitos:

  1. JavaScript NO es lo mismo que Java.
  2. JavaScript NO es un subconjunto de Java.
  3. JavaScript NO es una versión de Java para programar páginas web.
  4. JavaScript NO comparte prácticamente nada con Java. Si acaso la misma sintaxis que comparte con otros lenguajes como C, C++ o C#, y algún detalle más como algunos nombres de clases (Math o Date, por ejemplo), pero nada más.
  5. JavaScript NO es más fácil que Java. De hecho en algunas áreas concretas es más difícil de dominar.
  6. Si sabes programar en Java NO sabes programar en JavaScript. Y viceversa.
  7. JavaScript NO es solo un lenguaje para páginas web, al igual que Java no es un lenguaje solo para servidor.

Espero que esto sirva para aclararlo de una vez por todas :-)

funnyjavascript

José Manuel Alarcón Director de campusMVP, es ingeniero industrial y especialista en consultoría de empresa. Ha escrito diversos libros, habiendo publicado hasta la fecha cientos de artículos sobre informática e ingeniería en publicaciones especializadas. Puedes seguirlo en Twitter en @jm_alarcon o leer sus blog técnico o personal. Ver todos los posts de José Manuel Alarcón

No te pierdas ningún post

Únete gratis a nuestro canal en Telegram y te avisaremos en el momento en el que publiquemos uno nuevo.


Comentarios (10) -

hector gustavo vallejo espinosa
hector gustavo vallejo espinosa

es excelente, la labor que está haciendo no tenía ni idea de las diferencias de Java y JavaScript, me sirvió de mucho para mi conocimiento personal y para una tarea que debía de presentar en el sena, el cual no tarde en referenciarle la página, pues me encuentro estudiando ingeniería de sistemas en la universidad Cooperativa de Ibagué Tolima Colombia, por lo que me encuentro muy agradecido por usted señor JOSE MANUEL RINCÓN, de ante mano quisiera, claro con su aprobación me dé la oportunidad de seguir sus comentarios y enseñanzas.

Responder

José Manuel Alarcón
José Manuel Alarcón

Estupendo. Me alegro de que haya servido :-)

Responder

Juan Gonzalez
Juan Gonzalez

Con el debido respeto, como principiante en el ambito de la programacion, encuentro este articulo poco didactico ya que no solo no ha respondido a la pregunta formulada, sino que se ha enedado explicando cosas que solo un profesional como el sabe.
Muchas gracias por hacerme perder el tiempo.

Responder

José Manuel Alarcón
José Manuel Alarcón

¿¿De verdad?? :-O

Responder

Yo también soy principiante y estuvo muy claro lo que está escrito. Quizá haga falta releer. A pesar de que ya tiene tiempo la publicación, mi comentario servirá para alguna otra persona en el futuro.
Gracias por la información.

Responder

Juan Carlos
Juan Carlos

Muchas gracias he aclarado mis dudas. De pronto tutorial de java en español?

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola Juan Carlos:

Hemos lanzado hace poco un curso muy bueno sobre Java que parte de 0 y llega a un nivel alto: www.campusmvp.es/.../...a-plataforma-Java_231.aspx

Saludos.

Responder

jhonathan Garcia
jhonathan Garcia

Buen Articulo hermano.

Responder

Enrique Suárez
Enrique Suárez

Que tal buenas noches .
Leí el articulo , soy principiante de javascript ya que me gusta el diseño web, según el articulo javascript no tienen nada que ver con java.

¿Eso quiere decir que estoy aprendiendo un lenguaje totalmente nuevo?
¿cual es mas facil, java ó javascript ?

por cierto muy buen articulo , despejo algunas dudas que tenia

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola:

Me alegro de que te haya servido el post.

No sé a qué te refieres con lo de un lenguaje "totalmente nuevo". Si te refieres a que es un lenguaje completamente diferente a Java: entonces sí. No es solo el lenguaje, es que Java además de un lenguaje es un Framework y es mucho más complejo (aquí tienes una buena descripción: www.campusmvp.es/.../...ones-implementaciones.aspx).

JavaScript es más fácil que Java. Lo fundamental se aprende enseguida, aunque tiene algunas partes complejas también que es necesaro dominar. el problema es que muchos se quedan en lo primero y no llegan a aprender nunca lo segundo (lo complejo), y eso es un grave error.

Cualquiera de los dos es una gran apuesta de futuro. Java se ejecuta en casi cualquier dispositivo (www.campusmvp.es/.../...sitivos-ejecutan-java.aspx) y JavaScript igual (www.campusmvp.es/.../...a-aprender-JavaScript.aspx), aunque para lo que más se usa es para desarrollo web tanto en cliente como en servidor.

Saludos!

Responder

Agregar comentario