Conoce qué es Java, las características del lenguaje Java, descarga el JDK, crea tu entorno de trabajo para programar con Java usando el IDE Eclipse.
Esta es una introducción a Java para las personas que quieran dar los primeros pasos con el lenguaje, es decir, conocer sus características, descargar y configurar los programas que necesitamos para trabajar con Java.
En resumen aquí podrás conocer qué es Java y qué necesitas para comenzar, un artículo realizado bajo el contenido que nos ofreció José Luján en en una sesión formativa en abierto realizada en DesarrolloWeb.com y que nos sirve como preludio al Curso completo de Java que vamos a impartir en EscuelaIT.
Java es uno de los lenguajes más difíciles de aprender, quizás no tanto por su sintaxis o por el hecho de que está orientado a objetos, sino más bien por su amplitud. Dentro de Java tienes una biblioteca de clases (librerías) para hacer cualquier tipo de cosa. Es muy difícil que desarrolles cualquier tipo de aplicación y comiences desde cero en Java, al contrario, siempre te apoyarás en algo ya escrito, que implementa las bases de aquello que quieres construir.
Java es muy grande y eso aunque represente una dificultad en el aprendizaje, es también una de sus ventajas. De hecho, se podría decir que, aunque un desarrollador tenga muchos años de experiencia programando, es prácticamente imposible que conozca todas las áreas para las que Java se puede utilizar, ya son muchas y muy diferentes. Normalmente, las clases (librerías) que vas a utilizar cuando realizas un tipo de programa son diferentes a las que utilizarás para otro y lo habitual es que los proyectos solo requieran trabajar con un pequeño conjunto de los recursos que existen en Java.
Un poco de Historia de Java
Java es un lenguaje que aparece en 1995. Para hacernos una idea, tiene más o menos el mismo tiempo de vida que otros lenguajes populares como Python o PHP, pero sin embargo Java es totalmente revolucionario. Podemos decir que el motivo de ser tan conocido e innovador es que tiene una filosofía única: "escribe una vez y ejecuta en cualquier lugar" ("write once, run everywhere"). En otras palabras, lo programas una vez y lo ejecutas en cualquier sistema.
Esa filosofía es la que hizo a Java un mito, pero además Java tiene algunas características que lo hacen muy útil: es de los lenguajes más fuertes, con mayor cantidad de librerías para hacer cualquier tipo de cosa y con una de las mayores comunidades. Además, Java es un lenguaje de los mejor pagados en la actualidad.
Java fue desarrollado por Sun Microsystems, pero es a James Arthur Gosling al que se le considera el padre del lenguaje. Actualmente Java es propiedad de Oracle, que compró a Sun y es la responsable de su comercialización y la continuidad del desarrollo del lenguaje.
Recientemente, Java ha tenido un nuevo florecimiento gracias a que Google usó el lenguaje como base para el desarrollo del sistema operativo Android y como lenguaje nativo para el desarrollo de aplicaciones para sus smartphones. No obstante, Java es usado en infinidad de entornos y de aplicaciones tradicionalmente.
Java Virtual Machine (JVM)
Java es un lenguaje multiplataforma, que se ejecuta en cualquier máquina. Esto es gracias a la JVM (Java Virtual Machine) que nos permite ejecutar el código de Java en cualquier lugar para el que se haya creado dicha máquina virtual. JVM es el secreto (no tan secreto porque todo el mundo lo sabe) y la clave de Java como lenguaje multiplataforma.
La JVM hace de puente entre el código compilado de Java y la máquina donde se pretende ejecutar. Podemos verlo como un traductor, que se encarga de interpretar el código de Java, de manera que sea correctamente ejecutado en el sistema objetivo. Es decir, con Java compilamos el código y el resultado de la compilación se ejecuta en la JVM que tenga el sistema operativo donde quieres poner en marcha el programa.
En este artículo volveremos más tarde a analizar este esquema de funcionamiento. De momento te puedes quedar con que la JVM es la pieza que permite la filosofía de Java, que se programe en un lenguaje y el mismo programa se pueda ejecutar en Mac, Windows, Linux e incluso en otros tipos de sistemas, siempre que tengan una JMV.
Casi en cualquier hardware se puede montar un JVM y gracias a ello ser compatible con Java. De hecho, los primeros teléfonos móviles, antes de la llegada de los smartphones, tenían la posibilidad de ejecutar juegos en Java y eso es porque simplemente se había creado una JVM para ellos.
Qué necesitas para desarrollar en Java
A continuación describimos todos los materiales que debes tener para programar en Java.
1) Java JDK
Lo primero que necesitas para poder desarrollar en Java es el "Java Development Kit". Es un software gratuito que contiene todo aquello que requiere tu máquina para trabajar con el lenguaje, tanto la JVM como las librerías para realizar programas de Java, desde los más básicos hasta los más complejos y específicos.
Para obtener el JDK necesitas descargarlo desde la página de Oracle. A menudo resulta un poco complicado navegar por este tipo de "macrositios"; te recomendamos ir por la vía rápida y buscar en Google "download java jdk". Esto te llevará a la página principal de descarga del JDK en el sito de Oracle.
Hay diferentes "entregas", "sabores" o "paquetes", de Java. Cada una tiene un nombre y a veces resulta un poco lioso por tener tantas siglas que aprenderse. Puedes ver en la imagen siguiente un resumen del "Java SE Platform", que es un diagrama que Oracle nos ofrece para saber lo que estamos bajando cuando descargamos una de estas entregas de Java.
Como puedes apreciar, cuando descargas el JDK, en realidad estás descargando Java por completo, incluyendo todas las librerías y también por supuesto el Java VM (JVM). Si te descargas el JRE, en realidad estás trayéndote un subconjunto de Java. Así pues, simplemente tienes que fijarte qué es lo que estás descargando para traerte aquello que necesites.
Desde la página de Oracle podrás descargar el JDK en la última versión publicada y luego tendrás que usar aquella que sea para tu sistema operativo. Si estás en Windows tendrás que escoger además la versión x86 para procesadores de 32bit y la x64 para procesadores de 64bits.
Cuando instalas Java ya se configura todo en tu sistema, por lo que no deberías tener ningún problema para empezar a usarlo.
2) JVM
Lo más seguro es que tú ya tuvieras la Java Virtual Machine en tu sistema (es común que Java esté instalado en tu ordenador porque incluso sin saberlo estés usando algún programa desarrollado con Java.) Si tenías o no Java realmente no es preocupante, pues como pudiste apreciar en la imagen anterior, la JMV se instala también cuando instalas el JDK para Java.
3) IDE para desarrollo
El tercer paso sería contar con un IDE para el desarrollo. IDE son las siglas de "Integrated Development Environment" o en español, Entorno de Desarrollo Integrado. Te recomendamos usar Eclipse, luego veremos algo más sobre cómo obtener y usar Eclipse.
Flujo de trabajo para desarrollar en Java
Antes de continuar queremos hacer una parada para explicar mejor el flujo de trabajo cuando programas en Java y eso nos dará una idea más exacta de por qué Java es diferente a otros lenguajes y también sobre cómo un IDE nos facilita la labor a los desarrolladores Java.
1) Cuando programas Java escribes archivos con el código Java. Como cualquier lenguaje son archivos de texto plano. En este caso los guardarás siempre con extensión ".java".
2) Cuando compilas tus archivos Java creas lo que se llaman los "Byte Code", que son los archivos ".class". Generalmente, cualquiera de los IDE usados para desarrollar con Java (nombraremos algunos aún en este artículo) tiene herramientas integradas para compilar.
3) Cuando has generado los Byte Code, los puedes ejecutar en tu máquina gracias a la JVM que hay nativa para tu sistema. Recuerda que tienes una JVM específica para cada sistema operativo. La JVM es capaz de entender los archivos Byte Code y ejecutarlos en tu sistema sin fallos y mostrando el mismo resultado que mostraría la JVM de otro sistema operativo.
Este proceso lo puedes ver esquematizado en el siguiente diagrama.
Los Byte Code son los archivos más importantes de Java, que nos dan junto con la JVM el soporte para las múltiples plataformas. Cuando compilas con Java no compilas tu código en un binario nativo para tu sistema operativo, sino que lo compilas en estos Byte Code que son un paso intermedio. Realmente, son las JVM las que interpretan los Byte Code para que a la hora de ejecutarlos el resultado sea capaz de verse de la misma manera en cualquier sistema operativo que puedas usar.
Por lo tanto, Java es un lenguaje que primero se compila y luego se interpreta, a diferencia de otros lenguajes que generalmente son, o bien compilados como C, o bien interpretados como PHP. Con todo esto podríamos pensar que Java es un lenguaje un poco pesado, pero las máquinas actuales no tienen problemas para ejecutarlo y además Java se ha ido también mejorando y optimizando.
Alternativas de IDE para Java
Sobre IDE tenemos varias opciones para Java, entre las más conocidas y usadas tenemos Eclipse, Netbeans, Jdeveloper, IntelliJ IDEA. Cualquiera de ellos puedes usarlo perfectamente, así como cualquier otro que encuentres y te sientas cómodo.
El IDE Eclipse es con diferencia el más usado (tiene en torno al 60% o 70% de tasa de uso entre los desarrolladores de Java) porque es el primero que se popularizó, gracias a que fue el que primero introdujo las extensiones por medio de plugins. Java es atractivo también porque es abierto y gratuito para cualquier tipo de uso.
Instalar Eclipse para programar en Java
Existen también diversas distribuciones de Eclipse y a veces nos podemos liar un poco a la hora de elegir la que más nos interesa.
Si entras en eclipse.org y accedes a la página de descargas, podrás encontrar diversos paquetes o distribuciones del IDE. Algunos son específicos para trabajar con Java, otros están más preparados para otros lenguajes. La diferencia de las distintas distribuciones de Eclipse estriba en el tipo de proyectos que vas a realizar porque recuerda que Java se puede usar para distintos objetivos dentro del mundo de la programación, tanto en aplicaciones de línea de comandos, como en aplicaciones con ventanas e interfaces de usuario gráficas, para aplicaciones web, etc.
Nosotros vamos a recomendar la distribución que encuentras con el nombre "Eclipse IDE for Java Developers", que contiene todo lo que vamos a necesitar para este curso. Sin embargo, podrás utilizar cualquier otra de las recomendadas.
Eclipse es multiplataforma, por lo que también tendrás que asegurarte de estar descargando exactamente la versión para tu sistema operativo, Linux, Mac o si estás en Windows, la versión de 32 Bit o 64 Bit que corresponda con el tipo de procesador de tu PC.
Eclipse tiene una particularidad y es que no requiere instalación, al contrario de lo que que estamos acostumbrados en muchos sistemas. Realmente lo que descargas es el programa entero, ya "paquetizado" para que puedas usarlo. Simplemente tienes que descomprimir el contenido de tu fichero y dejarlo en cualquier localización de tu disco duro, el escritorio, la raíz del disco, un disco externo o donde desees. Una vez descomprimido, simplemente tendrás que hacer un doble clic en el ejecutable (eclipse.exe) para poner en marca el IDE.
Como puedes ver, Eclipse se instala como lo que podríamos decir una versión "portable" del software, porque todo lo que necesita el programa para funcionar está en la carpeta que has descomprimido. Si te llevas la carpeta a cualquier otra localización, seguirá funcionando de la misma manera. Incluso si tienes que cambiar de ordenador, simplemente te llevas la carpeta a la nueva máquina y funcionará perfectamente, junto con todos tus proyectos.
Otra de las ventajas que nos proporciona el estilo de instalación de Eclipse, sin el típico asistente, es que puedes tener varias distribuciones de Eclipse, configuradas de distinta manera, para varios tipos de lenguajes o varios proyectos, sin que se peguen la una con la otra.
De momento esto es todo. Con esto ya sabes bastante de Java como para poder enfrentarte al primer "hola mundo", pero eso ya te lo contamos en el próximo artículo.
Ahora te dejamos con la grabación del vídeo de la clase de iniciación a Java, donde encontrarás esta información ampliada.
José Dimas Luján
José Dimas es fundador de Ockham Ti, empresa de desarrollo de software, app móvi...