Java (lenguaje de programación)
Java es el nombre de un lenguaje de programación creado por Sun Microsystems. Esta empresa fue comprada por Oracle Corporation, que sigue manteniéndolo actualizado. La última versión es Java 14, lanzada en marzo de 2020. Además las únicas versiones soportadas son, la última versión Long Term Support (LTS) Java 11, lanzada el 25 de septiembre de 2018; y Oracle lanzó para el "legado" Java 8 LTS la última "actualización pública" gratuita. La próxima versión LTS prevista es Java 17 (LTS), prevista para septiembre de 2021.
Java, que se llamaba Oak cuando todavía se estaba desarrollando, está orientado a objetos, lo que significa que se basa en objetos que trabajan juntos para que los programas hagan su trabajo. El código Java se parece a C, C++ o C#, pero el código escrito en esos lenguajes no funcionará en Java en la mayoría de los casos sin ser modificado.
Java se ejecuta en muchos sistemas operativos diferentes, incluyendo Android, el sistema operativo móvil más popular del mundo (mientras que Java sigue siendo utilizado en Android, incluso por su fabricante Google, ya no prefieren Java; ahora Kotlin es su lenguaje preferido, que también se puede utilizar con todo el código Java). Esto hace que Java sea independiente de la plataforma. Lo hace haciendo que el compilador de Java convierta el código en bytecode Java en lugar de código máquina. Esto significa que cuando se ejecuta el programa, la máquina virtual Java interpreta el bytecode y lo traduce a código máquina.
Conceptos de Java
Java se desarrolló para alcanzar cinco objetivos principales. Estos son:
- Java debe ser fácil de aprender, orientado a objetos y distribuido.
- Java debe ser seguro y fuerte.
- Java no debería depender de ninguna arquitectura o plataforma informática.
- Java debería funcionar bien.
- Java debería poder tener un intérprete escrito para él, y soportar el paralelismo y utilizar la tipificación dinámica.
Plataforma Java
La plataforma Java es un grupo de productos de software de Sun Microsystems. La plataforma se utiliza para desarrollar y ejecutar programas Java. La plataforma incluye el motor de ejecución (llamado máquina virtual Java) que permite que los programas Java hagan lo mismo en diferentes sistemas informáticos.
Esta capacidad de poder desarrollar software en una plataforma y ejecutarlo en otras se denomina "capacidad multiplataforma".
Ejemplo de programa Java
Un ejemplo de programa Java "Hello World":
Tipos de programas Java
Hay muchos tipos de programas Java que se ejecutan de forma diferente:
- Applet de Java: pequeño programa escrito en Java que se descarga de un sitio web y se ejecuta dentro de un navegador web en un ordenador cliente.
- Aplicación: se ejecuta en un ordenador cliente. Si está en línea, tiene que descargarse antes de ejecutarse.
- Archivo JAR (archivo Java): se utiliza para empaquetar los archivos Java en un único archivo (casi exactamente como un archivo .zip).
- Servlet - se ejecuta en un servidor web y ayuda a generar páginas web.
- Aplicación Swing - se utiliza para construir una aplicación que tiene una GUI (ventanas, botones, menús, etc.).
- EJB: se ejecuta en un servidor web y se utiliza para desarrollar sitios web grandes y complejos.
Beneficios
Java se utiliza habitualmente para enseñar a los estudiantes a programar como primer lenguaje, pero también lo utilizan los profesionales.
- Java requiere que cada variable sea inicializada. Algunos lenguajes más antiguos, como C, permiten que las variables no se inicialicen, lo que puede provocar fallos aleatorios con misteriosos bugs.
- Java requiere que cada método declare un tipo de retorno: el método siempre debe devolver un valor, excepto si su tipo de retorno es void. Esto también evita los errores.
- Java viene con un gran conjunto de clases y métodos, la API de Java que se puede utilizar sin tener que desarrollar tanto código "desde cero".
- A diferencia de C, los tipos primitivos de Java, como int, tienen siempre el mismo tamaño en número de bits, lo que ayuda a conseguir la compatibilidad entre plataformas.
- Antes se consideraba que Java era más lento que C, pero eso ha perdido importancia en los últimos años porque los ordenadores son más rápidos.
- Java tiene un manejo de excepciones que requiere que el programador maneje las condiciones de error como los errores de Entrada/Salida.
- El código compilado en una plataforma Java puede ejecutarse en otras plataformas que admitan Java sin necesidad de modificar el código fuente ni el código de bits. Esto significa que una persona puede hacer un programa Java para un ordenador Windows y hacerlo funcionar en un ordenador Linux o en un ordenador Mac.
Crítica
Java también ha sido criticado. Algunas de las críticas son:
- Los genéricos se añadieron a Java de forma que el código existente siguiera funcionando. Esto se hizo utilizando el borrado de tipos. Esto significa que durante la compilación se elimina el tipo real de un argumento genérico. Esto puede hacer que el intérprete de Java se comporte a veces de forma inesperada.
- Java no tiene tipos enteros sin signo, que lenguajes como C utilizan mucho. Esto también significa que es imposible intercambiar directamente datos numéricos entre programas C y Java. La criptografía también depende de estos tipos en cierta medida; esto hace más difícil escribir aplicaciones que utilicen criptografía en Java.
- El IEEE ha definido un estándar para la aritmética de punto flotante, el IEE 754. Java sólo soporta una parte de las características de este estándar.
Preguntas y respuestas
P: ¿Cómo se llama el lenguaje de programación creado por Sun Microsystems?
R: El lenguaje de programación creado por Sun Microsystems se llama Java.
P: ¿Quién da soporte actualmente a Java y lo mantiene actualizado?
R: En la actualidad, Oracle Corporation da soporte a Java y lo mantiene actualizado.
P: ¿Cuáles son las versiones actuales de soporte a largo plazo (LTS) de Java?
R: Las versiones actuales de soporte a largo plazo (LTS) de Java son las versiones 17, 11 y 8.
P: ¿Cuándo se publicó la última versión de Java?
R: La última versión de Java, la 19, se publicó en septiembre de 2022.
P: ¿Hay alguna otra empresa que admita Java además de Oracle?
R: Sí, Eclipse Adoptium también es compatible con Java al menos hasta mayo de 2026 para la versión 8 y al menos hasta septiembre de 2027 para la versión 17.
P: ¿Qué tipo de código utiliza Java?
R: Java utiliza código orientado a objetos, lo que significa que se basa en objetos que trabajan juntos para que los programas realicen su trabajo. Su aspecto es similar al de C, C++ o C#, pero el código escrito en esos lenguajes no funcionará en la mayoría de los casos sin ser modificado.
P: ¿Cómo se hace Java independiente de la plataforma?
R:Java se hace independiente de la plataforma haciendo que el compilador convierta el código en un formato especial llamado bytecode en lugar de código máquina. Esto significa que cuando se ejecuta el programa, el bytecode puede ser interpretado por un programa especial llamado máquina virtual que lo traduce a código máquina para que pueda ejecutarse en diferentes sistemas operativos como Android.