Artículos de Tecnología

Java: una guía para iniciar en esta tecnología.

andre-bessa
andre-bessa
img1

Java es una de las plataformas más utilizadas para el desarrollo de aplicaciones alrededor del mundo. Además de la plataforma, según datos del estudio realizado por StackOverflow - "Tecnologías más populares de 2022", el lenguaje Java figura como la 6ª más utilizada por personas desarrolladoras, correspondiendo al 33% del total investigado.

Investigación StackOverflow

img2

Créditos: “2022 Most popular technologies”, StackOverflow

Cualquiera que comience con esta tecnología puede encontrar alguna dificultad para entender la "cantidad de código" que se requiere para escribir un mensaje como el famoso "Hola, mundo!". ¡Pero no creemos pánico! ¡Java no es un animal de 7 cabezas y con este artículo te lo vamos a mostrar! 😉

¿Qué es Java?

Java, como plataforma de programación, nació en el año 1995 dentro de los laboratorios de la empresa Sun Microsystem como resultado de una extensa investigación científica y tecnológica. La plataforma Java proporciona un entorno completo para el desarrollo y ejecución de programas, que consta de:

En Java, los programas son escritos en un archivo con la extensión .java, que en un proceso posterior serán compilados para archivos con la extensión .class. Estos contienen los códigos que se ejecutarán en la máquina virtual, los bytecodes.

.java, .class, bytecodes

img3

JVM está disponible para la mayoría de los sistemas operativos del mercado, por lo que podemos ejecutar la misma aplicación Java en Windows, macOS, Linux, Solaris, entre otros. Esta funcionalidad implementa uno de los conceptos que nacieron fuertes con Java: "¡Escribe una vez y ejecuta en cualquier lugar!".

La magia detrás de Java

Algunos antecedentes...

A mediados de 1991, se comenzó a trabajar en el desarrollo de lo que sería la plataforma Java como parte del programa Green, que agrupaba proyectos que tenían como objetivo establecer la nueva generación de software inteligente para dispositivos electrónicos, como televisores, videocasetes, tostadoras y demás utensilios, para que estos pudieran comunicarse con otros del mismo tipo y también con computadoras.

Para lograr este objetivo, se decidió crear una plataforma portable entre diferentes tipos de dispositivos. El lenguaje a ser adoptado fue el 'C++' debido a la experiencia de las personas desarrolladoras del proyecto, pero, se observó que ese lenguaje no permitía realizar de manera fácil todo lo que ellos esperaban.

En este momento, uno de los líderes del proyecto, James Gosling, propuso crear un nuevo lenguaje que pudiera satisfacer los requisitos esperados para el proyecto y que fuera lo más simple posible. Así, surge el lenguaje Oak (en traducción libre, "roble"), por ser un tipo de árbol que nacía en los alrededores de la oficina de Gosling. Junto al nuevo lenguaje se desarrolló el sistema Green OS.

En 1993, el equipo de Sun Microsystem finalizó un prototipo de dispositivo conocido como Star 7, o simplemente 7, un PDA (Personal Digital Assistant) que utilizaba el nuevo lenguaje. Entonces, surge la oportunidad de participación de una competencia pública para la creación de tecnología interactiva que fuera compatible para TV por cable, que fue ganada por Silicon Graphics.

Pero, ¿qué pasa con Java? Por problemas con los derechos de autor (copyright), en 1994, fue necesario cambiar el nombre de Oak por su nombre definitivo: Java. Impulsados por el crecimiento de Internet, los desarrolladores Patrick Naughton y Jonathan Payne crearon WebRunner, un programa para navegador con la capacidad de descargar y ejecutar código Java.

En 1995, en el evento conocido como SunWorl'95, Sun presentó al mundo el navegador HotJava y el lenguaje Java, que entusiasmaron a la comunidad de tecnología de la época. Al año siguiente, el gigante Netscape Corp lanza la versión 2 de su famoso navegador, Navigator, que incorpora la funcionalidad de ejecutar aplicaciones Java conocidas como applets.

Con la llegada del año 1996, Sun, en una acción hasta entonces inédita, liberó de forma libre para la comunidad de software un conjunto de herramientas para desarrollo usando el lenguaje Java. Ese conjunto fue el conocido JDK 1.02, que tenía como foco la plataforma Sun Solaris y Windows 95/NT.

Un detalle importante: Sun liberó Java y las herramientas, pero mantuvo los derechos hasta 2009, cuando Oracle compró la empresa, que continuó con la evolución del lenguaje y la plataforma. Pero la adquisición de Sun no tuvo ningún impacto en las personas desarrolladoras de Java, ya que el lenguaje sigue siendo libre y funciona bajo la licencia GNU.

A continuación puedes consultar una línea de tiempo con las versiones y las novedades implementadas en Java a lo largo de los años desde su lanzamiento:

Versiones Java

img4

Puede comprobar también: Las características más destacables de Java 8 en adelante.

Cabe destacar también que Java, en su evolución, dejó de nombrar las versiones a partir de Java 8, y su versión actualizada se libera a cada 6 meses, adoptando las formas Preview y LTS (Long Time Support).

Tecnología Java

La plataforma Java está estructurada en un portafolio de productos para el desarrollo y ejecución de aplicaciones, ideando que un mismo programa pueda funcionar en diferentes sistemas operativos y dispositivos. Actualmente la plataforma se divide en dos grandes áreas:

Sugerencia de lectura: ¿Cómo empezar a desarrollar en java?

¿Java es gratis?

Desde su lanzamiento oficial en 1996 hasta sus últimas versiones, Java ha experimentado evoluciones y mejoras que le han permitido mantenerse como una plataforma y lenguaje competitivo, lo que explica su gran popularidad.

Pero una pregunta muy común, sobre todo para los principiantes, es la siguiente: ¿Java es gratis? Una pregunta pertinente, ya que el gigante tecnológico Oracle compró Sun y la plataforma Java.

La respuesta a esta pregunta se encuentra en el sitio web de Oracle. Java es gratuito para estudio y pruebas, pero para uso comercial y soporte deberá desembolsar un valor para licencias. ¿Pero, y ahora?

Hoy también existe una versión totalmente gratuita de Java y sus herramientas que es mantenida por la comunidad, contando también con el apoyo de Oracle. Se trata de OpenJDK, que es el kit de herramientas para el desarrollo de Java. Existe desde 2006, pero desde que Oracle compró Java, el kit ha ganado aún más fuerza.

Pero entonces, ¿hay alguna diferencia? Java Oracle se desarrolla con base en el código oficial del proyecto Open y permite un uso completo y comercial, siendo diferenciado por el soporte y la forma de licenciamiento, pero técnicamente ambas versiones son el mismo Java.

Para obtener más información sobre el costo de Java Oracle, visite la pagina de Oracle.

Uso de la plataforma Java

Java como plataforma de computación es muy utilizado, ya que hay una gran cantidad de aplicaciones de computadora, sitios web y aplicaciones que dependen de Java para funcionar. Por lo tanto, es muy común la pregunta: "¿Necesito Java en mi computadora?".

Para ejecutar las aplicaciones Java en nuestra computadora es necesario instalar el entorno de ejecución de Java o JRE. Es una camada de aplicación y se instala en el sistema operativo, proporcionando la librería de clases y los recursos necesarios para la ejecución del código Java por JVM.

Como ejemplo de aplicaciones que necesitan de Java para funcionar, tenemos la plataforma de Oracle. Además, muchas aplicaciones oficiales del gobierno brasileño fueron desarrolladas con Java, como las utilizadas para la Declaración del Impuesto sobre la Renta Retenido en la Fuente (DIRF) y la Relación Anual de Informaciones Sociales (GDRAIS).

Para configurar Java en su computadora y ejecutar aplicaciones y componentes creados en Java, puede descargar JRE en la página oficial de la plataforma y realizar la instalación en el sistema operativo de su elección.

img5

En este proceso de instalación y configuración de Java en su computadora, puede optar también por la instalación de la versión Open.

img6

Lenguaje

Java, como lenguaje de programación, posee algunas características que lo diferencian de otros lenguajes y le confieren la popularidad que tiene hoy. Vamos a enumerar las principales abajo:

Además de estas características, el lenguaje Java es bastante robusto y permite el trabajo con tipos numéricos, como entero o punto flotante, de acuerdo con estándares internacionales, además de implementar e incentivar el control de errores por la aplicación. La sintaxis del lenguaje también es muy simple, lo que explica en parte cómo se convirtió en uno de los lenguajes orientados a objetos más populares del mundo.

Sintaxis

¿Qué tal conocer un poco más sobre el lenguaje Java? Para ello, vamos a hablar un poco sobre su sintaxis.

Para crear un programa, podemos dividir nuestro código fuente en varios archivos con extensión .java, también conocido como unidades de compilación. Usando un editor de códigos, vamos a definir el código fuente en Java (.java) para mostrar un mensaje en consola, que será compilado en uno .class para ser interpretada por nuestra JVM.

A continuación tenemos un ejemplo de un código Java para mostrar una mensaje:

class Hola {
    public static void main(String[] args) {
       System.out.println("¡Hola, Mundo! Soy Java.");
    }
}

Una aplicación básica Java debe tener el método main, que sirve como un puerto de entrada para la ejecución de la aplicación, y es a partir de ella que será creado el proceso a ejecutar por el procesador.

Para comenzar a escribir el código Java, es necesario utilizar un editor de texto para guardar los archivos .java y JDK para realizar la compilación con la utilidad javac. Para el código que ejemplificamos arriba, utilizamos el VS Code en la plataforma Windows.

Para generar los bytecodes, navegamos por la consola hasta el directorio donde se encuentra el archivo con la extensión .java y ejecutamos el comando abajo:

javac Hola.java

Una característica importante de Java es que es un lenguaje case-sensitive, es decir, hace una distinción entre letras minúsculas y mayúsculas, como en clase y Clase. También es un lenguaje definido como fuertemente tipado, por lo que en el uso de variables y objetos, debemos proporcionarle un tipo. Por ejemplo: queremos definir un espacio en la memoria que vamos a nombrar como "valor", ya que recibe 100, que es del tipo entero, entonces escribiremos de la siguiente manera:

int valor = 100;
System.out.println(valor); // muestra el mensaje en el terminal

En el lenguaje Java, tenemos los tipos de datos primitivos (igual que en otros lenguajes), presentados de forma sucinta en la siguiente tabla, y los tipos complejos (clases), que son definidos por nosotros.

CategoríaTipo
Enterobyte, short, int, long
Realfloat, double
Carácterchar
Lógicaboolean

Los tipos complejos, las llamadas clases, son aquellos tipos creados por la persona desarrolladora para resolver un problema y que representan alguna idea o concepto del mundo real, que son la base del paradigma de la programación orientada a objetos.

Android & IoT

Java y Android

Java, desde su creación, ofrece recursos y soporte para el desarrollo de aplicaciones móviles. Ya ha tenido la plataforma JavaME (Java Micro Edition), la cual ha sido descontinuada con el paso de los años, pero actualmente sigue configurada como el principal lenguaje de desarrollo para el sistema operativo Android.

Entonces, si tu objetivo es trabajar con el desarrollo de aplicaciones, Java es una excelente opción para los estudios, ya que proporciona herramientas para escribir código, depurar y probar.

Java y IoT

El área de Internet de las Cosas (IoT), actualmente, es una de las más estudiadas y es blanco de varios gigantes de la industria tecnológica. El concepto de IoT es permitir la comunicación entre hardware (cosas) y personas en diferentes plataformas (sistemas operativos).

En este contexto, ya existen formas de ejecutar aplicaciones Java en placas arduino, una de las principales plataformas para el desarrollo de proyectos electrónicos basados en hardware y software. Además, lo más interesante es que todos los archivos y diseños de proyectos arduinos están disponibles gratuitamente a través de Creative Commons Attribution Share-Alike License.

Para que una aplicación Java pueda comunicarse con placas arduino, podemos recurrir a la librería Javino, que posee una librería para Java y otra para Arduino. Fue desarrollada por los profesores Carlos Pantoja y Nilson Lazarin, de Centro Federal de Educación Tecnológica del Rio de Janero(Cefet-RJ), a partir de la investigación A Robotic-agent Platform for Embedding Software Agents Using Raspberry Pi and Arduino Boards.

img7

El uso de Java en proyectos IoT interactúa muy bien con la propuesta inicial de la plataforma, que permitía interactuar diferentes dispositivos a través de un sistema operativo y un software de aplicación.

Orientados a Objetos

La Orientación a Objetos es un paradigma de programación, pero ¿qué significa? Un paradigma es un modelo o estilo de programación que aplicamos en la creación de un software.

En este modelo de programación, la idea es acercar conceptos e ideas del mundo real - traduciendo, por ejemplo, un coche, una persona o incluso una cuenta bancaria al mundo virtual - y hacer que estos conceptos en forma de objetos de software puedan comunicarse e interactuar para ejecutar una funcionalidad para un sistema.

Este paradigma nació en 1960, en Noruega, con la propuesta de crear sistemas más confiables, flexibles y fáciles de mantener. En la década siguiente, en 1970, el matemático, biólogo y desarrollador Alan Kay creó el primer lenguaje de programación en implementar ese paradigma, el Smalltalk.

A pesar de haber nacido hace tiempo, fue con Java que ese modelo de programación ganó popularidad y comenzó a ser adoptado a gran escala por la "industria" del software; y aquí hay una retroalimentación, pues la popularidad de Java también está muy ligada al hecho de que el lenguaje adopta ese paradigma.

Entre las principales ventajas de la adopción de la Orientación a Objetos, además de minimizar la curva de aprendizaje, también tenemos la capacidad de reutilización, lo que optimiza la producción de una solución de software, posibilitando mayor calidad, reducción de tiempo y costo de mantenimiento de los sistemas.

Puede consultar más información sobre ¿Qué es la Programación Orientada a Objetos?

Clases y Objetos

En Orientación a Objetos, tenemos dos conceptos esenciales, que son:

Los pilares de la Orientación a Objetos

Además de los dos conceptos centrales de este paradigma, presentados anteriormente, tenemos algunos otros conceptos que son de extrema importancia y que forman los pilares de la Programación Orientada a Objetos:

img8

Para comenzar a desarrollar sus aplicaciones usando la plataforma Java, lo que no puede faltar es el famoso JDK y un editor de texto - así es, un bloque de notación o similar.

Pero gracias a los dioses de la programación, disponemos de una serie de herramientas, algunas gratuitas y otras propietarias, que satisfacen nuestras necesidades. Vamos a enumerar aquí algunas de las más utilizadas en el mundo Java, los famosos IDEs (Integrated Development Environment).

Con un IDE podemos editar el código, acceder a una terminal, ejecutar un script , depurar y compilar usando un único ambiente, lo que puede aumentar la productividad en el desarrollo de aplicaciones. A continuación, te traemos algunos IDEs y editores que podemos usar para Java:

Eclipse

Eclipse es un IDE gratuito de código abierto para Java. Agrupa una serie de herramientas y utilidades de apoyo al desarrollo, muy asociadas a Java desde su creación. Hoy en día el IDE ya permite su utilización para programar usando lenguajes como JavaScript, PHP, entre otras.

img9

Créditos: Eclipse Foundation

Para descargar el IDE, puede acceder a la página de Fundación Eclipse, en la pestaña Eclipse IDE Download. Para obtener más información sobre la productividad en el eclipse: Aumentando tu productividad con el eclipse.

NetBeans

Otro IDE muy famoso en el mundo Java es NetBeans, también es una herramienta gratuita y de código abierto. Fue diseñado de forma reutilizable, con el objetivo de reutilizarlo y simplificarlo con la intención de aumentar la productividad. Además, el IDE fue escrito completamente en Java.

Compuesto por un conjunto de módulos y librerías con la intención de garantizar que las personas desarrolladoras puedan escribir software de una manera más rápida, hoy en día está disponible en varios lenguajes, y con las configuraciones adecuadas puedes desarrollarlo usando C, C++, Ruby, PHP, entre otros.

img10

Créditos: Apache NetBeans

Para descargar NetBeans IDE, solo tiene que ir a la página de inicio de Apache NetBeans.

IntelliJ

IntelliJ IDEA, otra herramienta escrita íntegramente en Java, nos permite escribir, además del propio Java, códigos en Kotlin, Scala y Groovy. También con el objetivo de optimizar el trabajo de la persona desarrolladora, IDE ofrece IntelliSense, entorno de depuración y una serie de plugins para ayudar en el desarrollo del código.

Desarrollada y mantenida por la empresa JetBrains, esta es una herramienta propietaria, pero hoy cuenta con una versión Community que opera bajo la licencia Apache 2.0.

img11

Créditos: IntelliJ IDEA, JetBrains

Para descargar IntelliJ, puede acceder a la opción "Descargar" en la página oficial de JetBrains. Allí encontrará las versiones Ultimate o Community disponibles para los sistemas operativos Windows, macOS y Linux. Para obtener más información sobre el uso de la herramienta: IntelliJ IDEA para principiantes.

VS Code

Visual Studio Code es el editor de código abierto de Microsoft, también disponible para Mac y Linux, y que, mediante la configuración de algunos plugins, puede utilizarse para escribir tus primeros códigos en Java.

Tiene soporte para varios lenguajes, una interfaz agradable y fácil de usar, además de ser una herramienta muy ligera en comparación con una IDE tradicional.

img12

Créditos: Visual Studio Code

Para descargar VS Code, puede acceder a la página oficial de la herramienta. ¿Quieres saber más sobre la herramienta VS Code, ver el #AluraMás Conociendo Visual Studio Code. También recomendamos leer el artículo Desarrollo de aplicaciones Java con VS Code, que presenta la configuración de algunos plugins para Java en Visual Studio Code. Además de los artículos VisualStudio Code: instalación, teclas de acceso directo, plugins e integraciones y Extensiones de VSCode: descubre cuáles son las más utilizadas.

Certificaciones

Para comenzar una carrera en programación, lo esencial es la voluntad y la dedicación en aprender cada vez más. Para muchos puestos de trabajo, una formación "formal'' no es un requisito eliminatorio, pero siempre es bueno poder, cuando sea posible, buscar alguna forma de instrucción.

Hoy tenemos a nuestra disposición una serie de formas de aprender y practicar programación, desde la realización de cursos gratuitos, hasta estudio de grado y el posgrado. Pero en el área de tecnología tenemos las certificaciones, donde empresas como Microsoft, IBM, Google y Oracle ofrecen la posibilidad de una certificación técnica en determinadas tecnologías, en general, mantenidas por esas empresas.

Una certificación también sirve como una señal de que tú, como profesional, has estudiado y valida tus conocimientos en una determinada tecnología, lo que ayuda a mejorar su currículum vitae, teniendo en cuenta que algunas vacantes pueden requerir como uno de los requisitos de certificación en particular. ¿Y en el universo Java?

Las certificaciones Java han existido desde la época de Sun Microsystem, y ahora forman parte del portafolio de Oracle. Veamos algunas de ellas:

Oracle Certified Associate (OCA)

Esta certificación demuestra que conoce la estructura básica del lenguaje Java. Es el puerto de entrada a otras certificaciones Oracle Java.

img13

Créditos: Oracle

Oracle Certified Professional (OCP)

Luego de obtener la Certificación OCA, la persona programadora podrá seguir el camino hacia la Certificación OCP. En esta prueba, debes demostrar la capacidad de crear soluciones Java SE de alto nivel, usando orientación a objetos, tratamiento de excepciones, enumeraciones, entre otros.

img14

Créditos: Oracle

Oracle Certified Professional Java EE (OCP)

Esta certificación busca validar la capacidad de la persona desarrolladora Java para desarrollar e implementar nuevas aplicaciones sobre la plataforma Java. Dirigido a personas desarrolladoras que se desempeñen en el Front-end y Back-end, en un nivel intermedio a avanzado, que tengan habilidades en la creación de interfaces web con tecnologías JavaScript, JSP y Servlets, además de trabajar con lógica de negocios.

img15

Créditos: Oracle

Las certificaciones asumen un papel importante en la carrera de una persona desarrolladora, pues la mantiene estudiando y profundizándose aún más en una determinada tecnología. Pero solo no garantizan el éxito, recuérdalo. Es muy importante que intentes mejorar de la forma que más te convenga, ¡y las certificaciones son una excelente opción! Recomendamos leer el artículo Guía para el éxito: ¿por qué necesitas invertir en capacitación profesional en el área de tecnología?

Comunidad

La comunidad de las personas desarrolladoras de Java es una de las más activas dentro de la tecnología. Impulsado al principio por ser una tecnología libre y de código abierto, Java encontró en este entorno un escenario muy favorable.

En este sentido, nacieron muchas comunidades, grupos de discusiones, eventos y encuentros técnicos en todo el mundo que ayudaron a difundir Java y aprovechar la popularidad de esta tecnología.

A través de la comunidad, existe un gran intercambio de experiencia y conocimiento entre sus usuarios, con buenas oportunidades de asociación en proyectos. Unirse a las comunidades es una gran oportunidad para crear una red y a las personas a desarrollarse en sus primeros años de carrera, e incluso mantenerse motivados en los estudios de tecnología.

Conclusión

Java, como plataforma y lenguaje de programación, ya está consolidado, poseyendo una de las comunidades más grandes y activas dentro de la tecnología. Hoy, tenemos la plataforma Java funcionando en los más diversos dispositivos, desde teléfonos inteligentes, computadoras e Internet de las cosas.

Por haber comenzado como una tecnología abierta, que implementa y utiliza el concepto de máquinas virtuales y el paradigma de programación orientada a objetos, la plataforma ha ganado una extraordinaria popularidad, estando presente incluso en proyectos gubernamentales alrededor del mundo.

¿Quieres profundizar aún más en la tecnología Java? Te dejamos aquí algunas referencias que serán de gran ayuda:

img-autor

André Bessa

Soy programador e instructor de programación usando C# y .NET. Soy Licenciado en Sistemas de Información y con especialización en Ingeniería de Software y Estudios Superiores. Tengo experiencia en desarrollo usando Java, PHP, PostgreSQL y MySQL, además de trabajar con soporte e implementación de sistemas. Siempre busco aprender más, también me gusta contribuir a la enseñanza y difusión de la tecnología. En las horas de ocio, maratoneo alguna serie, leer historias de héroes.

Este artículo fue adecuado para Alura Latam por: Adriana Oliveira

Artículos de Tecnología

En Alura encontrarás variados cursos sobre . ¡Comienza ahora!

Precios en:
USD
  • USD
  • BOB
  • CLP
  • COP
  • USD
  • PEN
  • MXN
  • UYU

Semestral

  • 271 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 6 meses
US$ 65.90
un solo pago de US$ 65.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Anual

  • 271 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 12 meses
US$ 99.90
un solo pago de US$ 99.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Acceso a todos
los cursos

Estudia las 24 horas,
dónde y cuándo quieras

Nuevos cursos
cada semana