Java

En el ámbito de la informática, Java es un lenguaje de programación de uso general diseñado específicamente para tener el mínimo de dependencias en su implementación. Se pretende que los desarrolladores de aplicaciones escriban el código una única vez, y éste pueda ejecutarse en cualquier lugar, lo que significa que el código Java compilado puede ejecutarse en todas las plataformas que soportan Java sin necesidad de recompilación. En la actualidad, Java es uno de los lenguajes de programación más utilizados en distintos ámbitos de la industria de la informática.

Java

Qué es Java

Java es un lenguaje de programación de uso general, orientado a objetos, que está específicamente diseñado para tener tan pocas dependencias de implementación como sea posible. Se pretende que los desarrolladores de aplicaciones puedan hacer realidad el eslogan creado por Sun Microsystems para ilustrar los beneficios multiplataforma del lenguaje Java “Escribir una vez, ejecutar en cualquier lugar” (“Write Once, Run Anywhere”), lo que significa que el código Java compilado puede ejecutarse en todas las plataformas que soportan Java sin necesidad de recompilación.

Las aplicaciones Java se compilan a bytecode que puede ejecutarse en cualquier máquina virtual Java (JVM, Java Virtual Machine) independientemente de la arquitectura del equipo. En la actualidad, Java es uno de los lenguajes de programación más populares, en particular para las aplicaciones web cliente-servidor. El lenguaje deriva en gran parte de la sintaxis de C y C++.

Se puede desarrollar una aplicación Java en cualquier dispositivo, compilarse en un bytecode estándar y esperar que funcione en cualquier dispositivo equipado con una máquina virtual Java. La instalación de un intérprete JVM en chips, dispositivos o paquetes de software se ha convertido en una práctica estándar de la industria.

De esta manera, un programador puede desarrollar código en un PC y puede esperar que funcione en teléfonos celulares habilitados para Java, así como en routers y mainframes equipados con Java, sin ningún ajuste. Esto tiene la intención de ahorrar a los desarrolladores de software el esfuerzo de escribir una versión diferente de su software para cada plataforma o sistema operativo en el que se proponen implementarlo.

En la práctica, puesto que hay múltiples implementaciones JVM, además de una amplia variedad de sistemas operativos diferentes como Windows, Linux, Solaris, NetWare, HP-UX o Mac OS, puede haber sutiles diferencias en cómo un programa se ejecuta en cada combinación JVM/SO, que puede requerir que una aplicación tenga que ser probada en varias plataformas. Esto ha dado lugar a una broma entre los desarrolladores de Java, “Escribir una vez, depurar en todas partes” (“Write Once, Debug Everywhere”.

Una de las ventajas del diseño de Java es la portabilidad, lo que significa que los programas escritos para la plataforma Java deben ejecutarse de manera similar en cualquier combinación de hardware y sistema operativo que disponga de JVM. Esto se consigue mediante la compilación del código Java a una representación intermedia denominada bytecode Java, en lugar de directamente al código de máquina específico de la arquitectura. Las instrucciones de bytecode de Java son análogas al código de máquina, pero están destinadas a ser ejecutadas por una máquina virtual escrita específicamente para el hardware del host.

Java en sí es independiente de la plataforma, y ​​se adapta a la plataforma particular en que se ejecuta gracias a una máquina virtual Java específica, que traduce el bytecode de Java en el lenguaje de la máquina de la plataforma. Las bibliotecas estándar proporcionan una forma genérica de acceder a características específicas del host, como gráficos, subprocesos y redes. Los usuarios finales normalmente utilizan un Java Runtime Environment (JRE) instalado en su propia máquina.

Oracle Corporation es el propietario actual de la implementación oficial de la plataforma Java SE, tras la adquisición de Sun Microsystems. Esta implementación de Oracle es el estándar de facto y está disponible para Microsoft Windows, Mac OS, Linux y Solaris.

La implementación de Oracle se empaqueta en dos distribuciones diferentes: el Java Runtime Environment (JRE), que contiene las partes de la plataforma Java necesarias para ejecutar programas Java y está destinado a usuarios finales, y el Java Development Kit (JDK) para desarrolladores de software, que incluye herramientas de desarrollo como el compilador Java y un depurador.

OpenJDK es otra notable implementación de Java que está bajo licencia GNU GPL, desarrollada cuando Sun liberó el código fuente de Java bajo la GPL en 2006.

Por lo que se refiere al rendimiento, los programas escritos en Java tienen la reputación de ser más lentos y requerir más memoria que los escritos en C. Aunque el uso del bytecode universal hace que el porting entre plataformas sea sencillo, la sobrecarga de procesamiento debido a la interpretación del bytecode hace que los programas interpretados casi siempre se ejecuten más lentamente que los ejecutables nativos.

Algunas plataformas ofrecen soporte directo de hardware para Java, ya que disponen de microcontroladores que pueden ejecutar Java en hardware en lugar de utilizar una máquina virtual Java de software.