Java vs JavaScript
Comencemos hablando de Java, un lenguaje de programación de propósito general orientado a objetos. Su primera versión fue presentada por Sun MicroSystems allá por 1991 como un lenguaje diseñado específicamente para tener pocas dependencias de implementación como fuera posible, de modo que los desarrolladores pudieran escribir un programa y ejecutarlo en cualquier dispositivo sin tener que compilar el código una y otra vez, ofreciendo soporte para diferentes tecnologías. De hecho, es común referirse también a Java como un conjunto de tecnologías en referencia a los diferentes productos y versiones que componen su familia. JavaScript no tiene casi nada que ver con el lenguaje de programación llamado Java. Su nombre vino por una cuestión de marketing.
Cuando se introdujo JavaScript, el lenguaje Java se estaba comercializando en gran cantidad y estaba ganando popularidad. Alguien pensó que era una buena idea tratar de avanzar en esto y hasta hoy sigue generando confusión. JavaScript se introdujo en 1995 como una forma de agregar programas a páginas web en el navegador Netscape Navigator. En su momento fue una idea novedosa. En los primeros días de la World Wide Web, HTML era bastante simple, y hacía fácil de aprender casi todo lo que se necesitaba saber para agrupar páginas web. Cualquiera podía hacer una Web juntando tablas, texto y añadiendo alguna imagen.
Desde entonces, el lenguaje ha sido adoptado por todos los demás navegadores gráficos principales. Ha hecho posibles las aplicaciones web modernas, aplicaciones con las que puede interactuar directamente sin hacer una recarga de página para cada acción. En la actualidad, los navegadores web no son las únicas plataformas en las que se utiliza JavaScript. También es posible ejecutar código JavaScript en un entorno servidor gracias al proyecto Node.js. Esta capacidad es vista por muchas personas como una navaja suiza que hace la web actual como algo posible y que posiciona a JavaScript como uno de los lenguajes de programación más demandados en numerosas ofertas de trabajo.
Diferencias entre Java y JavaScript
De lo dicho antes queda claro que Java y JavaScript son lenguajes totalmente diferentes. Pero, ¿cuáles son las diferencias más destacadas entre ambos lenguajes? algunos de los ejemplos más importantes son los siguientes:
● Tradicionalmente, JavaScript ha sido un lenguaje interpretado, y Java compilado. Los programas de JavaScript son archivos de texto que se leen primero para ser ejecutados, mientras que en Java se compilan a un archivo especial para que ser optimizados a un lenguaje intermedio llamado bytecode, y leído posteriormente en un ordenador que lo ejecute.
● Java se depura en dos fases y JavaScript en una. Cuando programamos en Java, primero se realiza la fase de compilación en la que el compilador nos indica los posibles errores de sintaxis presentes en nuestro código. Luego, al ejecutar el programa, pueden surgir errores que son mostrados en pantalla para ser depurados. Sin embargo, en JavaScript el código se depura mostrando los errores que se producen a medida que se ejecuta.
● Java es un lenguaje orientado a objetos puros, mientras que JavaScript está basado en prototipos. Este es un punto interesante, y quizás el más importante. JavaScript no trabaja con objetos, sino que simula muchas de las características de orientación a objetos propias de Java y otros lenguajes.
● Java es fuertemente tipado, y JavaScript es débilmente tipado. JavaScript es un lenguaje de programación muy versátil, mientras que 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, un array o un objeto. Esto, que parece una ventaja, también es fuente de posibles errores si no controlamos correctamente lo que ocurre en nuestro código.
● 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.
Presente y futuro de ambos lenguajes
Tanto JavaScript como Java se presentan como lenguajes con una gran demanda profesional. Es posible encontrar numerosas ofertas de empleo donde se demandan profesionales de uno y otro ámbito para cubrir diferentes tecnologías. Mientras que Java es usado en el mundo de la empresa, JavaScript ha evolucionado para abandonar el mundo de navegador y adentrarse cada vez más en servidores. De hecho, las bases de datos como MongoDB y CouchDB, usan JavaScript como su lenguaje de scripting y consulta. A su vez Java ha ido evolucionando desde sus primeras versiones hasta nuestros días, incorporando nuevas funciones. En la actualidad, debido a la demanda del mercado, está experimentando una vertiginosa evolución gracias al soporte que Oracle está ofreciendo al lanzar nuevas versiones cada seis meses.
Java es en la actualidad uno de los lenguajes más demandados en el mercado. Según Digitales Summit, se calcula que entre 2017 y 2022 será responsable de la creación de 1.250.000 empleos en España JavaScript o Java, ¿cuál aprender? Tanto si quieres aprender programación como si quieres desarrollarte profesionalmente en el desarrollo de aplicaciones, seguramente habrás oído hablar de Java.
Este lenguaje es mostrado como base para aprender los fundamentos de la programación en escuelas y universidades. Se suele decir que, si dominas Java, prácticamente puedes programar sobre cualquier plataforma imaginable. Es por eso que no son pocas las empresas que solicitan cubrir posiciones donde el conocimiento de este lenguaje de programación es clave. Sin embargo, también es cierto que, en la actualidad, JavaScript se presenta como el lenguaje de programación con una amplia demanda.
En mi humilde opinión, ambos lenguajes son interesantes pero JavaScript presenta dos desventajas a tener en cuenta, sobre todo si estás comenzando a programar. La primera es que, aunque quizá parece un lenguaje más fácil de aprender y ágil a la hora de manejarse con ciertas tecnologías o situaciones, en realidad es incluso más engorroso de lo deseable. Java nos exige cierto orden a la hora de escribir nuestro código y el compilador no perdona, por lo que, con poco que perfeccionemos nuestro conocimiento del lenguaje, acabaremos por adquirir unas pautas y métodos de desarrollo que nos ayudarán a saltar a uno u otro lenguaje.
Dicho esto, quedan por analizar la cuestión profesional y de salarios. Si bien considero que es más fácil comenzar a trabajar como desarrollador JavaScript, a la larga los salarios y posiciones Senior se encuentran más demandadas entre los desarrolladores Java, al menos de momento. Al final, la elección depende un poco de cada uno y de donde quiera llegar. Por otro lado, en el sector de la programación no hay nada escrito y lo que hoy es actualidad mañana es pasado, por lo que la mejor recomendación es siempre estudiar el mercado y aquellas tecnologías y lenguajes que puedan tener más futuro para evolucionar y mejorar nuestro currículum y habilidades.