Uno de los lenguajes más extendidos en la actualidad es sin duda Java. La principal razón de la popularidad de Java reside en que se trata de un lenguaje de programación orientado a objetos maduro, robusto y ampliamente extendido que sirve como base educativa en multitud de centros de formación, colegios y universidades.
Se suele decir que si dominas Java prácticamente puedes programar sobre cualquier plataforma imaginable por eso que no son pocas las empresas que solicitan cubrir posiciones en donde el conocimiento de este lenguaje de programación es clave.
¿Es importante saber Java? Hay un montón de lenguajes de programación por ahí, todos reputados y más que contrastados, cada uno con sus ventajas e inconvenientes. Además, cada día salen nuevos lenguajes de programación como Google Go, Swift de Apple o Rust. Entonces ¿por qué Java?
En el momento en que vamos a instalar Java en nuestro sistema existe cierta tendencia a confundir los paquetes Java JDK y Java JRE. Ambos son necesarios pero cada uno tiene una función y misión diferenciada:
Además, de lo dicho antes, tenemos que tener en cuenta que existen 2 clasificaciones principales de plataformas Java, Java SE y Java EE. Estos se definen a continuación.
Actualmente, la última versión para desarrollo es Java 16, sin embargo, la versión más popular y ampliamente utilizada es Java 8. ¿A qué es debido esto? En algunas circunstancias, no siempre es la mejor opción utilizar las últimas versiones en lenguajes de programación. La razón es que muchas veces, hay funciones que se introducen en versiones posteriores que no siempre funcionan bien con versiones anteriores y por razones de compatibilidad es mejor mantener cierto criterio. Sin embargo existe otra razón.
A partir de la versión 11 de Java Oracle introdujo un importante cambio para las versiones publicadas. El nuevo acuerdo de licencia de Oracle Technology Network para Oracle Java SE es sustancialmente diferente a las licencias de Oracle Java anteriores. Hasta ese momento podías descargar y programar con el Kit de Desarrollo de Java oficial de Oracle y luego poner tu aplicación en producción o distribuirla sin tener que pagar nada al gigante del software. Sin embargo, a partir de Java 11 y del JDK 11, aunque puedes seguir desarrollando con él, tendrás que pagar una licencia a Oracle si quieres utilizarlo para poner las aplicaciones en producción. El coste es de 2,5 dólares al mes por cada usuario de escritorio, y de 25 dólares por procesador en el caso de aplicaciones de servidor. Aquí tienes la lista de precios oficial.
Como puedes suponer este cambio no afecta a versiones anteriores del JDK, por lo que si usas Java 8, 9 o 10 sigue siendo gratuito. Sumado a la enorme base de software basado en Java 7 y 8 existente, pues ahora se entiende la preferencia o mejor dicho “reticencia” en dar el salto a versiones más actuales.
Otra alternativa es usar OpenJDK. Se trata de una iniciativa basada en código abierto que nos permite crear nuestros propias aplicaciones basadas en Java compatibles y de manera gratuita. Ahora bien, esto sirve para una implementación general pero si buscamos cumplir funcionalidades muy específicas quizá interese más hacer uso de la versión de Java Oracle más actual.
Antes de instalar la versión más actual de OpenJDK (14) primer paso consiste en saber si ya existe alguna otra versión instalada. Para ello abrimos el terminal y escribiremos lo siguiente:
java -version
Si no existe versión previa, la salida es la siguiente:
No se ha encontrado la orden «java»
Pero se puede instalar con:
sudo apt install openjdk-11-jre-headless # version 11.0.10+9-0ubuntu1~20.04, or
sudo apt install default-jre # version 2:1.11-72
sudo apt install openjdk-8-jre-headless # version 8u282-b08-0ubuntu1~20.04
sudo apt install openjdk-13-jre-headless # version 13.0.4+8-1~20.04
sudo apt install openjdk-14-jre-headless # version 14.0.2+12-1~20.04
Para instalar la última versión de OpenJDK disponible en los repositorios ejecutaremos la siguiente instrucción:
sudo apt install openjdk-14-jre-headless default-jre
Si todo ha ido bien, al comprobar la versión de Java instalada obtendremos un resultado similar al siguiente:
misha@shirka:/$ java -version
openjdk version "14.0.2" 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 14.0.2+12-Ubuntu-120.04, mixed mode, sharing)
Evidentemente el mundo no gira alrededor de Ubuntu y en el ecosistema existen muchas otras versiones. El proceso de instalación pasaría aquí por instalar la versión de Java que más nos convenga desde sus repositorios o de manera manual instalar la última versión de Java Oracle. Aquí el proceso es un poco más largo pero para nada complicado.
nano /etc/profile
y al final del fichero pegaremos:
# Java 15
JAVA_HOME=/usr/java/jdk-15.0.2
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-13.0.2/bin/java" 1
update-alternatives --config java
update-alternatives --config javac
Para instalar la versión de Java para Windows, debemos visitar el sitio web oficial de Java y descargar el ejecutable de Windows. Una vez en el sitio podemos revisar las opciones de licencia se describen allí. Recomiendo hacer una doble lectura porque las condiciones de Java SE y SDK son ligeramente diferentes. La nueva licencia permite ciertos usos, como el uso personal y el uso de desarrollo, sin costo alguno, pero es posible que otros usos autorizados bajo licencias anteriores de Oracle JDK ya no estén disponibles.
Para iniciar la descarga debemos aceptar el acuerdo de licencia.
Una vez que se complete la descarga, ejecutamos el ejecutable.
JAVA_HOME es una variable que apunta al directorio en el que está instalado Java. Los programas lo utilizan para determinar dónde se encuentra Java.
Haga clic en la combinación de teclado Win+R, aparecerá la ventana Ejecutar y luego ingresaremos el comando control /name Microsoft.system.
Ingrese el nombre: JAVA_HOME. A continuación, especifique la ruta. Si la ruta es la predeterminada, veremos la ruta C:\Archivos de programa\Java\jdk-13.0.2
Una vez esta variable ahora resta definir la variable de usuario y su ruta, seleccionamos PATH tal como se muestra en la imagen y añadimos %JAVA_HOME%\bin
Para verificar que los cambios se han aplicado correctamente. Podemos abrir CMD y escribir los comandos “echo %JAVA_HOME%” y “java -version”.
Al igual que en Windows el proceso de instalación de Java Oracle en MacOS es muy sencillo. Existen diferentes métodos de instalación como descargarse el paquete .DMG desde la web oficial y realizar la instalación de OpenJDK mediante terminal usando SDKMAN.
SDKMAN se trata de una utilidad de uso de comandos que nos ayudará a instalar diferentes versiones de Java de una manera cómoda.
En el paso inicial, si nos decantamos por la segunda opción, será instalar el repositorio SDKMAN:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
Ahora ya podemos listar las versiones disponibles de Java que podemos instalar con
sdk list java
===========================================================
Available Java Versions
===========================================================
Vendor | Use | Version | Dist | Status | Identifier
-----------------------------------------------------------
AdoptOpenJDK | | 14.0.0.j9 | adpt |
14.0.0.j9-adpt | | 14.0.0.hs | adpt |
14.0.0.hs-adpt | | 13.0.2.j9 | adpt |
Use the Identifier for installation:
$ sdk install java 11.0.3.hs-adpt
===========================================================
El siguiente paso es instalar la versión JDK que nos interese siguiendo el ejemplo:
sdk install java 13.0.2-open
Y lo definimos como versión por defecto:
sdk default java 13.0.2-open
Y ya lo tenemos. Podemos verificar que la instalación ha sido un éxito comprobando la versión mediante la instrucción java -version.
Y hemos llegado al final de este tutorial en donde hemos aprendimos qué es Java, qué versiones están disponibles para instalar, sus licencias, y finalmente cómo cómo instalar, configurar y ejecutar Java en Ubuntu, Windows y MacOS.
El siguiente paso es elegir el IDE de desarrollo que más nos guste y comenzar a trabajar desarrollando nuestro proyecto o aprender a utilizar uno de los lenguajes de programación más extendidos y populares en la actualidad.