Saltar al contenido
Inicio

Java (lenguaje de programación)

Lenguaje orientado a objetos, multiplataforma y basado en la JVM. Historia, características, ediciones, usos comunes y diferencias relevantes en el ecosistema actual.

Java es un lenguaje de programación de propósito general y una plataforma informática diseñados para permitir que el mismo programa se ejecute en múltiples sistemas sin cambios importantes. Desarrollado originalmente por Sun Microsystems y liderado por un equipo que incluyó a James Gosling, Java se hizo público en la década de 1990 y desde entonces ha evolucionado mediante implementaciones comerciales y libres. La implementación de referencia actual proviene de Sun Microsystems y, tras la adquisición de Sun, del grupo Oracle; además existe una versión de código abierto conocida como OpenJDK.

Galería de imágenes

2 Imágenes

Características principales

Java es un lenguaje orientado a objetos que enfatiza la modularidad y la reutilización a través de clases y objetos. Es de tipado estático —las variables tienen tipos fijados en tiempo de compilación— y cuenta con recolección automática de basura para gestionar la memoria. El compilador de Java transforma el código fuente en bytecode, un formato intermedio que es ejecutado por la Máquina Virtual de Java (JVM), lo que aporta la conocida independencia de plataforma: "write once, run anywhere". Entre otras facilidades, Java incorpora manejo de excepciones, una extensa biblioteca estándar (API), concurrencia mediante hilos y, en las versiones modernas, expresiones lambda y programación funcional básica.

Cómo funciona (breve)

El flujo típico es: código fuente (.java) → compilador produce bytecode (.class) → la JVM interpreta o compila en tiempo de ejecución (JIT) a código máquina apropiado para el sistema. Este diseño separa la implementación del hardware y del sistema operativo del programa. El entorno de ejecución incluye máquinas virtuales como HotSpot o implementaciones específicas para dispositivos móviles y embebidos; en Android, por ejemplo, el código Java se transforma en formatos adaptados al sistema de ejecución propio de la plataforma.

Historia y evolución

El proyecto que dio lugar a Java comenzó con el nombre clave "Oak"; su primer lanzamiento público fue a mediados de los años 90. Desde entonces Java ha pasado por cambios importantes: introducción de la plataforma Java Enterprise para aplicaciones empresariales, incorporación de genéricos en Java 5, lambdas y streams en versiones posteriores, y una reorganización de las versiones y de soporte LTS (long-term support). La comunidad y varias empresas mantienen implementaciones alternativas y proyectos relacionados que amplían el ecosistema.

Ediciones y ecosistema

  • Java SE (Standard Edition): la base del lenguaje y la API estándar, usada como referencia en la mayoría de proyectos.
  • Java EE / Jakarta EE: especificaciones para aplicaciones empresariales, servidores y servicios web.
  • Java ME (Micro Edition): versiones y perfiles para dispositivos embebidos y móviles.

Además de Oracle y OpenJDK, existen implementaciones y herramientas desarrolladas por la comunidad y proveedores comerciales. El ecosistema incluye gestores de dependencias, marcos de trabajo (frameworks) y entornos de desarrollo integrados que facilitan la construcción y despliegue de aplicaciones.

Usos y ejemplos

Java se emplea ampliamente en aplicaciones empresariales, servidores web, sistemas de backend, herramientas de escritorio, software científico y financiero, y en desarrollo de aplicaciones Android (aunque Android utiliza su propio runtime). Muchos sistemas críticos en banca, telecomunicaciones y administración pública confían en Java por su robustez, portabilidad y ecosistema maduro. Herramientas populares escritas o ejecutadas sobre Java incluyen servidores de aplicaciones, motores de bases de datos embebidos y frameworks para desarrollo web.

Diferencias y datos relevantes

Aunque la sintaxis de Java recuerda a lenguajes como C y C++, su administración de memoria, modelo de objetos y ausencia de punteros explícitos lo distinguen. En tiempo de ejecución, la JVM aporta seguridad y aislamiento. En el desarrollo moderno convive con lenguajes que se ejecutan en la misma máquina virtual (por ejemplo, Kotlin), y con enfoques funcionales que se integran en el lenguaje. Para profundizar en especificaciones, documentación y descargas oficiales, puede consultarse la documentación de referencia y sitios de la comunidad: documentación general, implementaciones como distribuciones comerciales, recursos de aprendizaje (tutorización), foros y repositorios (proyectos), además de guías sobre la Máquina Virtual (arquitectura JVM), bytecode y herramientas de profiling (compilador y bytecode, optimizaciones JIT).

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":

/** * Este es un sencillo programa en Java.   * Muestra "¡Hola Mundo!" en la pantalla.   */ class HolaMundo { public static void main(String[] args) { System. out. println("¡Hola Mundo!"); } }

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.

Artículos relacionados

Autor

AlegsaOnline.com Java (lenguaje de programación)

URL: https://es.alegsaonline.com/art/49636

Compartir

Fuentes