Tabla de contenidos
Con el lenguaje de programación Java y el ecosistema asociado de herramientas y programas, se pueden desarrollar aplicaciones independientes de la plataforma de forma rápida y sencilla. Además de un editor de texto, el Java SE Development Kit (JDK) con el entorno de ejecución de Java correspondiente y, por supuesto, se requieren algunas habilidades de desarrollo para el desarrollo.
Información general
Junto con C-Sharp (C #) y C ++, Java es uno de los lenguajes de programación más conocidos. El lenguaje orientado a objetos se puede utilizar para desarrollar las llamadas «aplicaciones multiplataforma» independientes de la plataforma. No se requiere un sistema operativo específico para ejecutar las aplicaciones , sino un entorno de software especial, a saber, Java Runtime Environment (JRE).
Dado que este entorno de ejecución ya está preinstalado en muchos equipos, la base de usuarios potenciales es, en consecuencia, muy grande. Si el JRE no está disponible en una computadora, puede hacerlo con solo unos pocos clics gratis desde el sitio web oficial. Por esta razón, Java es el lenguaje de programación preferido para aplicaciones independientes de la plataforma.
Los programas desarrollados en el lenguaje de programación Java se pueden ejecutar tanto en Windows como en MacOS, varios derivados de Linux y Unix e incluso en el navegador web como aplicaciones web. La arquitectura del procesador no juega un papel importante aquí, porque Java es compatible con todos los procesadores comunes, como x86, ARM o PowerPC. Java se basa estrechamente en los dos lenguajes de programación C ++ y C #.
Máquina virtual
La independencia la realiza la máquina virtual Java (JVM), que funciona como parte del JRE. Esta máquina virtual está equipada con sus propias rutinas y bibliotecas y funciona de manera similar a un » sistema operativo real «. Por lo tanto, desarrollar con Java significa desarrollar para la JVM, independientemente de si el sistema informático subyacente es una PC, un servidor, una Mac o un sistema operativo móvil.
Porque tanto el código fuente como el formulario compilado son idénticos en todas las plataformas y se ejecutan en la JVM. Para desarrollar programas Java, necesitas un editor de texto como Vim, jEdit o Sublime Text así como el JDK (Development Kit) para compilar el código fuente. Sin embargo, no debes confundir Java con JavaScript. Cuando JavaScript es un lenguaje de scripting que se encuentra principalmente en el desarrollo web, se utiliza. JavaScript tiene poco que ver con el lenguaje de programación orientado a objetos.
Ventajas de Java de un vistazo
Como lenguaje de programación orientado a objetos, Java y C ++ utilizan dos componentes importantes, a saber:
- el código del programa real con las funciones integradas, y
- Clases y objetos como elementos de datos
Gracias a la estricta separación en clases y objetos, así como a la lógica del programa real, el desarrollo de productos de software se hace mucho más fácil. Las clases y los objetos que se crean una vez se pueden reutilizar en cualquier momento. Como parte de la máquina virtual, Java proporciona una serie de clases y objetos útiles como estándar, los llamados «objetos estándar».
Esto incluye, entre otras cosas, bibliotecas para salida de audio o gráficos que se adaptan automáticamente y se transmiten al sistema operativo respectivo por el entorno de ejecución. Esto nos lleva a la ventaja más importante de Java: la JVM garantiza que el código, una vez escrito, sea compatible con todas las versiones de la máquina virtual Java y se puede realizar sin problemas.
Los desarrolladores solo pueden crear una versión sin prestar atención a las especificaciones de los sistemas operativos y plataformas individuales. A diferencia de C y C ++, donde el desarrollador tiene que encargarse de la gestión de la memoria manualmente, Java tiene una gestión automática de la memoria. Como herramienta independiente dentro del entorno de ejecución de Java, la llamada «recolección de basura» comprueba a intervalos regulares si todavía se necesitan bloques de memoria asignados. Si ya no son necesarios, se borran automáticamente. Los desarrolladores no tienen que preocuparse por implementar una rutina correspondiente.
Leer: Qué es la Fundación Linux
Una descripción general de las desventajas de Java
Una de las mayores desventajas y críticas de muchos desarrolladores de Java se refleja en el contexto del Garbage Collector (GC). Por un lado, el recolector de basura puede ralentizar la ejecución del programa; por otro lado, los desarrolladores no tienen una influencia directa sobre cuándo se ejecuta el GC.
Además, el uso de la subestructura VM significa que Java es menos adecuado para el desarrollo de aplicaciones en tiempo real, que requieren la ejecución precisa de comandos. En muchos casos, habrá retrasos cuando el GC esté funcionando. Por esta razón, el uso de Java es tabú en el software de control relevante para la seguridad, como en Plantas industriales.
A pesar de todas las ventajas que trae consigo en términos de independencia de plataforma, el modelo de máquina virtual es también una de las mayores desventajas del lenguaje de programación. Debido a su subestructura, provoca cierta pérdida de rendimiento a la hora de ejecutar programas. Si ha utilizado una aplicación Java antes, probablemente hayas notado que los programas Java son relativamente lentos en comparación con las aplicaciones escritas en C ++ o Python.
La máquina virtual también significa que los desarrolladores no tienen acceso directo al hardware del sistema. Esto se hace utilizando los entornos de ejecución direccionados, que actúa como intermediario entre el código del programa y la computadora. Esto provoca retrasos y también evita que se utilicen funciones de hardware que no son compatibles con JRE . Después de todo, esto también tiene una ventaja: si una aplicación Java falla, el entorno de ejecución generalmente se pierde, pero no todo el sistema operativo.