Este año se cumple el 25 aniversario de Java y más concretamente, de la primera publicación del lenguaje de programación por parte de la empresa Sun Microsystems ( en la actualidad, parte de Oracle). Desde entonces, a pesar de sus primeros fracasos, se ha convertido en uno de los lenguajes más populares del mundo debido a su gran versatilidad. Por ello, es merecedor de un artículo dedicado únicamente a él. ¡Comenzamos!
Java sirve para desarrollar aplicaciones web tanto en entorno cliente como servidor, programas de escritorio para diferentes sistemas operativos, aplicaciones móviles, etc.
Debido a ello el uso de Java se ha extendido hasta cotas inimaginables en sus orígenes. Muestra de ello es que el índice de referencia a la hora de medir la popularidad de los lenguajes de programación. El Índice Tiobe (https://www.tiobe.com/tiobe-index/), coloca a Java como el segundo lenguaje más importante del mundo, sólo detrás del eterno C.
Realicemos un pequeño repaso de los orígenes de Java y de su gran importancia en el ámbito tecnológico actual para comprender cómo ha logrado llegar a su 25 aniversario.
Orígenes de Java
A finales de los 80, un equipo de ingenieros de la empresa Sun Mycrosystems encabezado por James Gosling (actualmente conocido como el padre de Java), comenzó a diseñar un lenguaje de programación para electrodomésticos.
La idea era conseguir un lenguaje capaz de programar diferentes dispositivos (desde mandos a distancia hasta microondas) y que un mismo programa pudiese ser ejecutado en diferente hardware. Es decir, el objetivo de este proyecto era crear lo que se conoce hoy en día como un lenguaje multiplataforma.
Tras muchos meses repletos de trabajo, este grupo ingenieros termina la primera versión del lenguaje en 1991. La historia cuenta que el nombre “Java” fue un guiño a la cantidad de café que bebieron mientras trabajaban en este proyecto, dado que en Estados Unidos se denomina popularmente al café de esta manera.
A pesar de todo, los primeros años de Java fueron un fracaso y Sun Mycrosystems no consiguió comercializarlo, por lo que el proyecto se quedó parado durante unos años. Sin embargo, la expansión de Internet acontecida 1994 hizo que Sun Mycrosistems reorientase el lenguaje hacia la web, dándole una segunda oportunidad. De esta forma, en 1995 se publicó Java 1.0 y en 1996 Sun creó el grupo JavaSoft, encargado de ir desarrollando el lenguaje. A partir de entonces el crecimiento de Java fue imparable, hasta llegar a nada más y nada menos que su 25 aniversario.
La importancia de Java tras 25 años de existencia
Las características más importantes de Java son la independencia de arquitectura y la implantación de la programación orientada a objetos. Estas características no son las más importantes únicamente porque sean las que mejor lo definen, sino por la importancia que han tenido en el mundo del desarrollo de software gracias a la evolución de Java.
Multiplataforma
Como hemos mencionado, gracias a Java podemos crear programas que pueden ser ejecutados en diferentes dispositivos y sobre diferentes sistemas operativos. Este tipo de programas son conocidos como independientes de arquitectura o multiplataforma.
Ahora bien, ¿qué significa esto exactamente y qué hace Java para conseguirlo? Para aclarar estas cuestiones debemos repasar algunos conceptos básicos de programación.
En primer lugar, debemos recordar que los ordenadores, tablets, móviles, etc. están preparadas para entender únicamente lo que se conoce como lenguaje máquina o lenguaje binario, el cual está compuesto por ceros y unos. Es decir, todo programa será una sucesión de 0 y 1. Cuando tengamos diferentes versiones de un mismo programa para diferentes dispositivos, cada una deberá tener un código máquina adaptado al hardware en el que se va a ejecutar.
Versatilidad de Java
Como este lenguaje es ilegible para el ser humano, empleamos lenguajes de programación. Estos lenguajes están preparados para ser entendidos por las personas y ser traducidos a lenguaje máquina. Dicha traducción se puede dar de dos maneras diferentes conocidas como compilación e interpretación.
- Compilación: proceso en el que todo el código del lenguaje de programación (conocido como código fuente) se traduce de una sola vez a código máquina. De esta forma se consigue un archivo ejecutable que el dispositivo puede entender y ejecutar. Es el caso de las típicas aplicaciones de escritorio como por ejemplo Microsoft Word.
- Interpretación: proceso en el que el código fuente se va traduciendo línea a línea a código binario. En este caso no se traduce todo el código a la vez, sino que se va traduciendo y ejecutando al mismo tiempo.
Por lo tanto, todo programa se puede clasificar como compilado o ejecutado. Sin embargo, hay una excepción, los programas Java. Todas las aplicaciones programadas en Java son a la vez compiladas e interpretadas.
El funcionamiento es el siguiente: el código fuente de Java se compila creando un archivo con un código denominado bytecode (no es lenguaje máquina). Después, este archivo se interpreta en cada dispositivo por lo que se conoce como máquina virtual de Java. Esta traduce el bytecode al código binario que necesite el dispositivo.
Es por ello que los programas Java requieren que el dispositivo en el que van a ser ejecutados tengan instalada la máquina virtual de Java, pero gracias a ello un mismo programa se puede ejecutar en cualquier dispositivo. Esto responde a la filosofía principal de Java “Write Once, run everywhere” (escribe una vez, ejecuta en cualquier lugar).
Java orientado a Objetos
El paradigma de la programación orientada a objetos (POO) es la manera de programar más importante en la actualidad y Java es su mayor exponente. Dicho de manera muy resumida, la programación orientada a objetos trata de acercar la programación a la naturaleza del mundo real.
Por ejemplo, imaginemos la aplicación de una universidad, donde los profesores cuelgan materiales, publican notas etc. y los alumnos acceden a ver y descargar contenidos, publicar comentarios, etc. En orientación a objetos (OO), esta aplicación podría tener objetos de tipo profesor o alumno donde cada tipo de objeto tendrá unas características. En ese caso, los profesores podrían acceder a datos restringidos para los alumnos y esto sería programado en el objeto profesor.
La temática de la POO es muy amplia y desborda los propósitos de esta entrada, pero conviene recalcar que es el paradigma de programación imperante hoy en día y que Java ha jugado un papel clave en todo ello.
25 aniversario de Java: Conclusiones
Nos queda claro que Java es el segundo lenguaje de programación más popular del mundo, sirve para desarrollar una variedad impresionante de aplicaciones.
Además, es uno de los máximos exponentes de la programación orientada a objetos, paradigma fundamental del desarrollo de software. Comprender los orígenes e importancia de Java es una excelente manera de entender el mundo del desarrollo de software.
Por nuestra parte, no queda sino felicitar al equipo de desarrollo de Java, por este más que merecido 25 aniversario. Esperamos que esta pequeña introducción te haya servido para conocer este lenguaje y su importancia. Si quieres aportar algo, por favor, no dudes en comentarlo más abajo.
¡Te esperamos en el siguiente artículo!
Deja una respuesta
Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *