1. Introducción: ¿por qué Java?
Java
1. Introducción: ¿por qué Java?
1.1. ¿Qué es Java?
Java es un lenguaje de programación de ordenadores, desarrollado por Sun Microsystems en 1995 (compañía que fue posteriormente absorbida por Oracle, en 2010).
Hay varias hipótesis sobre su origen, aunque la más difundida dice que se creó para ser utilizado en la programación de pequeños dispositivos, como aparatos electrodomésticos (desde microondas hasta televisores interactivos). Se pretendía crear un lenguaje con algunas de las características básicas de C++, pero que necesitara menos recursos y que fuera menos propenso a errores de programación.
De ahí evolucionó (hay quien dice que porque el proyecto inicial no acabó de funcionar) hasta convertirse en un lenguaje muy aplicable a Internet y programación de sistemas distribuidos en general.
Pero su campo de aplicación no es exclusivamente Internet: una de las grandes ventajas de Java es que se procura que sea totalmente independiente del hardware: existe una "máquina virtual Java" para varios tipos de ordenadores. Un programa en Java podrá funcionar en cualquier ordenador para el que exista dicha "máquina virtual Java" (hoy en día es el caso de los ordenadores equipados con los sistemas operativos Windows, Mac OS X, Linux, y algún otro). Y aun hay más: el sistema operativo Android para teléfonos móviles propone usar Java como lenguaje estándar para crear aplicaciones. Como inconveniente, la existencia de ese paso intermedio hace que los programas Java no sean tan rápidos como puede ser un programa realizado en C, C++ o Pascal y optimizado para una cierta máquina en concreto.
1.2. ¿Por qué usar Java?
Puede interesarnos si queremos crear programas que tengan que funcionar en distintos sistemas operativos sin ningún cambio, o programas cliente/servidor, o aplicaciones para un Smartphone Android, entre otros casos. Tampoco es un mal lenguaje para aprender a programar, aunque en ocasiones resulta un tanto engorroso para un principiante.
1.3. ¿Cuándo no usar Java?
Como debe existir un paso intermedio (la "máquina virtual") para usar un programa en Java, no podremos usar Java si queremos desarrollar programas para un sistema concreto, para el que no exista esa máquina virtual. Y si necesitamos que la velocidad sea la máxima posible, quizá no sea admisible lo (poco) que ralentiza ese paso intermedio.
1.4. ¿Qué más aporta Java?
Tiene varias características que pueden sonar interesantes a quien ya es programador, y que ya irá conociendo poco a poco quien no lo sea:
- La sintaxis del lenguaje es muy parecida a la de C++ (y a la de C, C#, PHP y algún otro). Eso simplifica el aprendizaje de Java si se conoce alguno de esos lenguajes, y también permite aprovechar los conocimientos de Java para aprender después uno de estos otros lenguajes.
- Es un lenguaje orientado a objetos, lo que supondrá ventajas a la hora de diseñar y mantener programas de gran tamaño.
- Permite crear programas "multitarea" (formados por varios hilos de ejecución), lo que ayuda a sacar mejor partido de los modernos procesadores con múltiples núcleos.
- Incluye control de excepciones, como alternativa más sencilla para manejar errores inesperados, como un fichero inexistente o una conexión de red perdida.
- Es más difícil cometer errores de programación que en otros lenguajes más antiguos, como C y C++ (por ejemplo, no existen los "punteros", que son una fuente de quebraderos de cabeza en esos lenguajes).
- Se pueden crear programas en modo texto, entornos "basados en ventanas", dibujar gráficos, acceder a bases de datos, etc.
1.5. ¿Qué hace falta para usar un programa creado en Java?
Vamos a centrarnos en el caso de un "ordenador convencional", ya sea de escritorio o portátil.
Las aplicaciones que deban funcionar "por sí solas" necesitarán que en el ordenador de destino exista algún "intérprete" de Java, eso que hemos llamado la "máquina virtual". Esto es cada vez más frecuente (especialmente en sistemas como Linux), pero si no lo tuviéramos (como puede ocurrir en Windows), basta con instalar el "Java Runtime Enviroment" (JRE), que se puede descargar libremente desde Java.com (unos 10 Mb de descarga).
Otra forma (actualmente menos frecuente) en que podemos encontrar programas creados en lenguaje Java, es dentro de páginas Web. Estas aplicaciones Java incluidas en una página Web reciben el nombre de "Applets", y para utilizarlos también deberíamos tener instalada la máquina virtual Java (podría no ser necesario si nuestro Navegador Web reconoce automáticamente el lenguaje Java, algo que no es habitual hoy en día).
1.6. ¿Qué hace falta para crear un programa en Java?
Existen diversas herramientas que nos permitirán crear programas en Java. La propia Oracle suministra un kit de desarrollo oficial que se conoce como JDK (Java Development Kit). Es de libre distribución y se puede conseguir en la propia página Web de Oracle.
El inconveniente del JDK es que no incluye un editor para crear nuestros programas, sólo las herramientas para generar el programa ejecutable y para probarlo.
Por eso, puede resultar incómodo de manejar para quien esté acostumbrado a otros entornos integrados, como los de Visual C# y Visual Basic, que incorporan potentes editores. Pero no es un gran problema, porque es fácil encontrar editores que hagan más fácil nuestro trabajo, o incluso sistemas de desarrollo completos, como Eclipse o NetBeans. Ambos son buenos y gratuitos. En el próximo tema veremos cómo descargarlos e instalarlos, así como alguna alternativa para ordenadores menos potentes.