1. EL LENGUAJE DE PROGRAMACIÓN JAVA
El origen del lenguaje de programación Java se sitúa en el año 1991.
Los lenguajes de programación existentes como C ó C++ no servían para ese propósito. En estos lenguajes los programas son dependientes del dispositivo. Esto quiere decir que solo pueden ejecutarse en un tipo de dispositivo concreto y deben ser modificados y compilados de nuevo para que se puedan ejecutar en dispositivos diferentes.
Por este motivo Gosling y su equipo crearon un nuevo lenguaje con las características básicas de C/C++ pero que fuera capaz de crear aplicaciones independientes de la arquitectura en la que se ejecutaran.
Este navegador gráfico se podía utilizar en sistemas Unix, Windows y Mac y revolucionó la forma de navegación entre los hiperenlaces que en ese momento formaban Internet y esto hizo que la web se popularizara. Fue el primer navegador parecido a los navegadores que conocemos ahora.
Ante el auge que estaba experimentando internet, donde cada vez más usuarios hacían uso de ella gracias al navegador Mosaic, los desarrolladores de Sun se dieron cuenta de que todo el trabajo que habían realizado en el proyecto para desarrollar un lenguaje que se pudiera implementar en pequeños dispositivos se podía adaptar y dirigir ahora a desarrollar un lenguaje para ser ejecutado en cualquier ordenador de Internet.
De esta forma, aunque inicialmente no estaba pensado para aplicaciones en Internet, el equipo de Gosling continuó con el desarrollo del nuevo lenguaje pero ahora orientado a conseguir un lenguaje que permitiera crear aplicaciones que se pudieran ejecutar en cualquier ordenador de Internet sin importar su sistema operativo ni su arquitectura.
Java revolucionó Internet cuando creó un nuevo tipo de programa en red llamado Applet.
Un applet es un programa que se ejecuta dentro de un navegador web. A diferencia de un programa normal, un applet no puede ejecutarse de forma independiente. Cuando el navegador carga la página que contiene un applet, éste se descarga y comienza a ejecutarse. Esto permite crear programas que cualquier usuario puede ejecutar independientemente de la arquitectura y sistema operativo del ordenador donde se ejecute. Los applets se utilizan para mostrar datos proporcionados por el servidor, manejar los datos de entrada del usuario, proporcionar aplicaciones simples como una calculadora, etc.
Ese mismo año, 1995, Gosling y su equipo lanzan el navegador HotJava.
HotJava era un clon de Mosaic pero con una gran diferencia: soportaba applets de Java.
Este nevegador fue la plataforma que utilizó Sun para demostrar todo el potencial de la nueva tecnología y ayudó a que Java se popularizara.
Pronto muchos programadores se interesaron por el nuevo lenguaje y empezaron a desarrollar applets Java.
En 1996 Sun Microsystems creó JavaSoft, un grupo empresarial dedicado exclusivamente al desarrollo del lenguaje Java.
El eslogan que Sun popularizó sobre el lenguaje Java fue:
Write Once, Run Anywhere
También
conocido con sus iniciales WORA. Esto
quiere decir que un programa Java se escribe una vez y se puede ejecutar en
cualquier plataforma sin tener que ser modificado ni recompilado.
Java logró convertirse en un lenguaje multiplataforma.
En 2010 Oracle compró Sun Microsystems por 7.400 millones de dólares.Java ha continuado su evolución añadiendo nuevas características para la programación web como los JSP y Servlets, los EJBs para el desarrollo de aplicaciones empresariales e introdujo además las clases necesarias para la programación de dispositivos móviles.
En la actualidad existen tres distribuciones principales de Java:
- J2SE (Java Platform Standard Edition). Es la versión estándar de Java y es la base de las otras distribuciones. Contiene todos los fundamentos básicos del lenguaje. Está orientada al desarrollo de aplicaciones de escritorio.
- J2EE (Java Platform Enterprise Edition). Utiliza muchos de los componentes de J2SE y añade nuevas funcionalidades. Está orientada al desarrollo de servicios web, networking, aplicaciones en el lado del servidor y aplicaciones basadas en la web. Es uno de los estándares para el desarrollo de aplicaciones web.
- J2ME (Java Platform Micro Edition). Esta distribución de Java está orientada a la programación de dispositivos móviles, dispositivos inalámbricos y pequeños dispositivos.
La máquina virtual de Java
La gran innovación que introdujo Java respecto a los demás lenguajes de programación existentes que hizo posible que un programa funcionara en cualquier plataforma, fue la creación de la Java Virtual Machine o Máquina Virtual Java.
Normalmente un programa escrito en un lenguaje de programación (código fuente) se debe traducir a un lenguaje entendible por la máquina (código máquina o ejecutable).
La traducción la realiza un programa traductor, generalmente un compilador.Si cambia el código fuente hay que realizar una compilación para cada tipo de arquitectura donde ese vaya a ejecutar el programa.
Para eliminar la dependencia de la máquina:
- En Java un programa no se traduce directamente a código ejecutable.
- Un programa Java se compila y se obtiene un código intermedio llamado bytecode.
- El bytecode lo interpreta la Máquina Virtual de Java (JVM Java Virtual Machine) y
obtiene el código ejecutable.
La máquina virtual de Java se distribuye gratuitamente para prácticamente todos los sistemas operativos.
El programa Java se compila una única vez y el fichero bytecode que se obtiene se procesa por la máquina virtual de Java instalada en cualquier plataforma (Windows, Linux, MacOS, etc).
De esa forma Java logra ser un lenguaje que no depende de una arquitectura específica.
La JVM forma parte del JRE (Java Runtime Environment) o entorno de ejecución de Java.
SIMPLE
- No hay punteros.
- No hay sobrecarga operadores.
- No permite la herencia múltiple.
- No hay necesidad de liberar memoria manualmente. La gestión de memoria dinámica
se hace automáticamente (recolector de basura).
Java es independiente de la plataforma y puede ejecutarse en cualquier máquina que tenga instalada la máquina virtual de java.
Es un lenguaje orientado a objetos por lo que facilitará el diseño y mantenimiento de programas grandes.
Es capaz de manejar errores en tiempo de ejecución mediante el controlador de excepciones.
Utiliza un recolector de basura para eliminar de la memoria todos los objetos que ya no se usan quitando esa responsabilidad al programador.
Java es un lenguaje fuertemente tipado. Cuando se declara una variable hay que indicar de qué tipo es y este tipo ya no podrá cambiar durante la ejecución del programa. Además realiza la comprobación de tipos en cualquier operación avisando si intervienen tipos incompatibles lo que hace que se eviten errores de cálculo.
No hay punteros por lo que no se puede acceder de forma directa a la memoria del ordenador.
Permite crear programas con varios hilos (threads) de ejecución. Esto quiere decir que puede ejecutar diferentes líneas de código al mismo tiempo lo que permite aprovechar las características de los procesadores con múltiples núcleos. Los hilos son importantes en programación multimedia, aplicaciones web, etc.
La primera versión de Java, llamada JDK 1.0, se lanzó en enero de 1996.
Desde la primera versión Java ha experimentado numerosos cambios, así como un enorme incremento en el número de clases y paquetes que componen la biblioteca estándar.
En diciembre de 1998 se lanza la versión J2SE 1.2 bajo el nombre de Java 2.
A partir de la versión 1.6 se deja de utilizar J2SE para llamarse Java SE 6, Java SE 7...
Cada versión tiene varias revisiones, por ejemplo la versión 1.6.7 del JDK hace referencia a la revisión 7 de la versión 6.
A partir de Java 9 (2017) aparece una nueva versión de java cada 6 meses.
Puedes consultar todo el historial de versiones en este enlace: Historial de versiones Java
A pesar de la aparición de versiones más nuevas, Java 8 sigue siendo la más utilizada en la actualidad (60% de uso en 2023), la siguiente versión Java más utilizada es Java 11 y por último Java 17.
A partir de Java 11 además se produce un cambio radical en la licencia de uso. Antes de Java 11 se podía descargar el JDK, programar y poner las aplicaciones en producción sin tener que pagar nada. A partir de Java 11 hay que pagar una licencia mensual a Oracle si queremos utilizarlo para poner aplicaciones en producción.
Esto no afecta a versiones anteriores. Las versiones 8, 9 o 10 sigue siendo gratuitas.
Básicamente necesitamos dos cosas:
1. El JDK (Java Development Kit o Kit de Desarrollo en Java). Es el software que nos permite crear aplicaciones Java de distintos tipos. Es lo primero que debemos tener instalado en nuestro ordenador. El JDK incluye:
- El JRE (Java Runtime Environment). Es la máquina virtual de Java que traduce el bytecode a código ejecutable.
- El compilador de Java. Es el encargado de convertir nuestro código fuente a bytecode.
- API de Java (Application Programming Interface). Contiene todos los paquetes, clases e interfaces del lenguaje Java. Es el código que proporciona Java para que el programador desarrolle sus propias aplicaciones.
Entre otras muchas funciones, un entorno de desarrollo contiene distintas herramientas en una sola interfaz gráfica. Generalmente contiene:
- Un editor de texto que ayuda a escribir el código resaltando la sintaxis con indicaciones visuales, autocompletado de instrucciones, comprobación de errores de sintaxis mientras se escribe el código, etc.
- Un depurador que sirve para probar un programa y buscar la ubicación de errores en el código.
- Herramientas para compilar y ejecutar el programa.
Algunos de los IDEs más utilizados para programar en Java son: Eclipse, NetBeans e IntelliJ Idea.
En http://www.oracle.com/technetwork/java/index.html se encuentra la documentación oficial de Java.
Se puede descargar la documentación en un archivo zip. De esta forma no dependeremos de la conexión a Internet para consultar la documentación oficial. Esto se puede realizar de la página de descarga
El kit de desarrollo básico proporcionado por Oracle es lo mínimo que se necesita para desarrollar un programa en Java. Es útil si se necesita compilar aplicaciones Java de manera esporádica
Sin embargo, la escritura y compilación de programas hecha de esta forma es un poco incomoda. Por ello numerosas empresas fabrican sus propios entornos de edición, algunos incluyen el compilador y otras utilizan el propio JDK de Oracle.
Algunas ventajas que ofrecen son:
- Facilidades para escribir código.
Los entornos de desarrollo para Java más populares en la actualidad son:
NETBEANS
Uno de los IDE Java más populares. Es un entorno gratuito de código abierto para la generación de código en diversos lenguajes.
Junto a NetBeans, el entorno de desarrollo Java gratuito más utilizado Es un entorno completo de código abierto.
Entorno de desarrollo completo creado por JetBrains para la creación de software y está disponible en dos versiones, una versión para la comunidad y otra versión comercial.
https://www.jetbrains.com/idea/
Iniciándome con Java y este blog es muy sencillo y fácil de entender, gracias!!
ResponderEliminarSuper bueno
ResponderEliminarGracias Rosa.
Eliminar¡Gracias! Estoy aprendiendo apenas a programar en un curso, primero nos dieron Python y si bien ayuda a la introducción pero siento que es muy desordenado. Me he enamorado de Java y, buscando ejercicios, me he topado con tu blog. Excelente.
ResponderEliminarReitero mis agradecimientos, me ayudará muchísimo en mi formación.
Excelente amigo, Graciaas!
ResponderEliminar