Tabla de contenidos
El lenguaje de programación Java se puede utilizar para desarrollar aplicaciones independientes de la plataforma. Todo lo que necesitas es un editor de texto, Java SE Development Kit, o JDK para abreviar, con un entorno de ejecución de Java y algunas habilidades de desarrollo.
De todos los lenguajes de programación, Java es probablemente uno de los más conocidos: el lenguaje de programación orientado a objetos permite desarrollar aplicaciones independientes de la plataforma. No se requiere un sistema operativo especial para ejecutar los programas, solo un entorno de software: Java Runtime Environment (JRE) de Sun Microsystems.
Dado que el entorno Java está preinstalado en la mayoría de las computadoras o los usuarios pueden descargarlo de forma gratuita desde el sitio web de Java con solo unos pocos clics, el grupo objetivo potencial es grande. En consecuencia, Java es la primera opción como lenguaje de programación para aplicaciones independientes de la plataforma.
Las aplicaciones Java se ejecutan tanto en Windows como en MacOS, los diversos derivados de Linux y Unix e incluso en el navegador web, incluso en diferentes subestructuras de procesador, ya sea x86, ARM o PowerPC. Java está fuertemente basado en C ++ y, por lo tanto, es fácil de aprender para los desarrolladores que ya se han ocupado de este lenguaje.
La máquina virtual lo hace posible
La independencia se realiza a través de la Máquina Virtual Java (Java VM), que es parte del JRE: esta máquina virtual funciona de manera similar a un sistema operativo «real» con sus propias bibliotecas y rutinas. Sin embargo, siempre es el mismo debido al entorno de ejecución de Java, que a su vez se adapta al sistema operativo host respectivo.
Programar con Java, por lo tanto, significa desarrollar en una especie de «PC Java» con un «sistema operativo Java», independientemente de si se trata de una PC, Mac, servidor o sistema móvil. El código fuente, y también la versión compilada en forma de programa Java en código de bytes, es idéntico en todas las plataformas y se transfiere desde la máquina virtual Java a la respectiva subestructura de hardware o software en la que se basa el entorno de ejecución de Java, la transferencia.
Si deseas crear una aplicación Java, necesitas un editor de texto como jEdit, # Kompilieren # o Notepad ++, así como el Java SE Development Kit (JDK) para compilar. Este último ya incluye el entorno de ejecución de Java JRE.
Por cierto: Java no debe confundirse con Javascript, este es un lenguaje de programación significativamente reducido para sitios web que se puede ejecutar en el navegador. Tiene poco que ver con el Java «real».
Las ventajas del desarrollo de software con Java
Como lenguaje de programación orientado a objetos (OOP), Java, como C ++, utiliza dos componentes en la programación: por un lado, está el código de programación real con las funciones integradas, por otro lado, están los elementos de datos (objetos).
Esta separación en objetos y clases de objetos, así como las operaciones reales, hace que la programación sea mucho más fácil: los objetos y clases que se han creado se pueden reutilizar en cualquier momento. Como estándar, Java proporciona una serie de objetos y clases típicos, los llamados objetos estándar, en la máquina virtual, incluidas bibliotecas para gráficos o salida de sonido, que se transmiten desde el entorno de ejecución al sistema básico respectivo.
La siguiente ventaja de Java es obvia: la base de la máquina Java virtual garantiza que el código de programa creado una vez se ejecute en todas las versiones de la misma máquina virtual Java o una más reciente. Como resultado, los desarrolladores solo tienen que crear una versión del programa sin prestar atención al sistema operativo subyacente: un programa Java que se ha creado una vez se ejecuta independientemente de la plataforma en cada sistema en el que está instalado el entorno de ejecución de Java. Y dado que los navegadores web también utilizan Java, nada se interpone en su uso como aplicación web.
La gestión automática de la memoria (recolección de basura), como programa independiente dentro del entorno de ejecución de Java, comprueba periódicamente si todavía se necesitan áreas de memoria ocupadas y las borra si es necesario. El desarrollador no tiene que preocuparse por la implementación de las rutinas correspondientes. Lo que luego también saca a la luz una desventaja de la programación Java.
Desafortunadamente, también hay desventajas.
Una de las mayores críticas a Java en relación con el recolector de basura es que, por un lado, puede ralentizar la ejecución del programa, por otro lado, el desarrollador no tiene control sobre cuándo se ejecuta. El uso de la subestructura VM significa que el desarrollo de aplicaciones en tiempo real, que requieren una ejecución cronometrada de comandos particularmente precisa, no es adecuado.
Cuando el recolector de basura interviene, puede haber retrasos que el desarrollador no puede prever. Esto significa que Java es un tabú para el software de control relevante para la seguridad, por ejemplo, en plantas industriales, y tampoco es adecuado para otras aplicaciones de tiempo crítico.
A pesar de todas las ventajas en cuanto a independencia de plataforma, el modelo de VM también es una de las mayores desventajas de Java: por un lado, su subestructura asegura una cierta lentitud en la ejecución del programa. Cualquiera que haya utilizado un programa Java antes habrá notado que los programas Java son relativamente lentos en comparación con el software programado de forma nativa en C ++ u otros lenguajes.
El modelo de VM también significa que los desarrolladores no tienen acceso directo al hardware del sistema: tienen que abordar esto a través del entorno de ejecución, que a su vez media entre el código Java y la computadora. Por un lado, esto provoca retrasos y, por otro lado, evita que las funciones de hardware no soportadas por el JRE sean inaccesibles para Java. Después de todo, esto también genera una ventaja de inmediato: si una aplicación Java falla, por lo general, en el mejor de los casos, se lleva consigo el entorno de ejecución, pero no toda la computadora.
Conclusión: ¿Para qué fines es adecuado Java?
Con todo, Java es una excelente opción para programar aplicaciones que deberían ser independientes de la plataforma sin estar demasiado relacionadas con el hardware. En el entorno corporativo, esto significa que Java ofrece una excelente oportunidad para crear aplicaciones sin estar vinculado a un sistema operativo específico.
Por otro lado, la suite Java, como software adicional de terceros con un uso generalizado y una alta frecuencia de actualización, también puede suponer un riesgo de seguridad, cuyo uso debe evitarse en equipos relevantes para la seguridad.