domingo, 5 de octubre de 2008

Lenguaje de Programación Java

Java no fue creado originalmente para el Web. SUN Microsystems lo desarrollo con el objetivo de crear un lenguaje independiente de plataforma y del sistema operativo para el desarrollo de electrónica de consumo (televisores, videos, equipo de audio, etc.).

El proyecto original, denominado green, comenzó apoyándose en C++, pero a medido que progresaba en su desarrollo, el equipo creador fue encontrándose con dificultades, decidieron desarrollar su propio lenguaje y en agosto de 1991 nació un nuevo lenguaje orientado a objetos, este lenguaje fue bautizado con el nombre de OAK.

A mediados de 1993 se lanzó Mosaic, el primer navegador para la Web y comenzó a crecer el interés por Internet. Entonces, se rediseñó el lenguaje para desarrollar aplicaciones para Internet y en enero de 1995 OAK se convirtió en Java.

A fines del siglo XX, Java llegó a ser el lenguaje de mayor acogida para programas de servidor. Utilizando una tecnología llamada JSP (similar a ASP de Microsoft), se hizó muy fácil escribir páginas dinámicas para sitios de Internet. Sumado a ésto, la tecnología de JavaBeans, al incorporarse con JSP, permitía utilizar el patrón MVC (modelo-vista-controlador) que ya tanto se había aplicado a interfaces gráficas.

Java llegó a ser extremadamente popular cuando Sun Microsystems introdujo la plataforma y el modelo de programación J2EE (Java 2 Enterprise Edition). Este modelo permite una separación entre la presentación de los datos al usuario (JSP o Applets), el modelo de datos (EJB), y el control (Servlets). Enterprise Java Beans (EJB) que es una tecnología de objetos distribuídos que pudo lograr el sueño de muchas empresas como Microsoft e IBM de crear una plataforma de objetos distribuídos con un monitor de transacciones. Con este nuevo estándar, empresas como BEA, IBM, Sun Microsystems, Oracle y otros crearon nuevos “servidores de aplicaciones” que tuvieron gran acogida en el mercado.

Además de programas del servidor, Java permite escribir programas de interfaz gráfica o textual. Además se pueden correr programas de manera incorporada o incrustada en los navegadores web de Internet, aunque ésto nunca llegó a popularizarse como se esperaba en un principio.

Los programas en Java generalmente son compilados a un lenguaje intermedio o bytecode, y luego interpretados por una máquina virtual (JVM). Esta última sirve como una plataforma de abstracción entre la máquina y el lenguaje permitiendo que se pueda “escribir el programa una vez, y correrlo en cualquier lado”. También existen compiladores nativos de Java, tanto propietario como libre. El compilador GCC de GNU compila Java a código de máquina.

Con la evolución de las diferentes versiones, no sólo se han producido cambios en el lenguaje, sino que se han producido cambios mucho más importantes en sus bibliotecas asociadas, que han pasado de unos pocos cientos en Java 1.0 a más de tres mil en Java 5.0. En particular, se han añadido APIs completamente nuevas, tales como Swing y Java2D.

Para poder ejecutar una aplicación java se requiere la máquina virtual de java (JVM) y para desarrollar aplicaciones java se requiere el kit de desarrollo de java (JDK).

El JDK se puede descargar de la página oficial de java.

Compilación y ejecución de programas en Java

Como se mencionó en la página http://java.sun.com/ tenemos todo lo necesario para bajar java y empezar a trabajar con él.

Versiones de java

Lo primero que tenemos que decidir es qué “edición” de java necesitamos. Hay tres disponibles: J2ME, J2SE y J2EE

J2ME es la versión “Micro”. Es una versión “reducida” de java para aparatos pequeños. Los más típicos son los teléfonos móviles. Si no queremos desarrollar un juego para uno de estos aparatos, esta no es nuestra versión.

J2SE es la versión “Standard”. Esta es la versión para las aplicaciones normales que pueden correr en un PC. Normalmente, esta es la versión que debemos descargar.

J2EE es la versión “Enterprise”. Esta versión es para el desarrollo de aplicaciones web. Es útil para gente que programa en servidores web y hacen páginas web complejas, con accesos a bases de datos, etc, etc.

Suponemos que nos hemos decidido por el J2SE. Tenemos varias opciones para descargar. Vamos a verlas:

JRE es el entorno de ejecución. Sirve para poder ejecutar programas java que ya estén hechos, pero no para desarrollar nuestros propios programas. Esta opción es la adecuada para aquellos que quieren navegar por internet y que les funcionen los applets (programitas java) incluidos en algunas páginas web o los chats realizados en java.

SDK (también conocido como JDK) son las herramientas de desarrollo. Aquí está incluido el compilador de java, el debugger y otras herramientas. Esta es la opción adecuada para los que quieren programar en java sus propias aplicaciones.

SDK + netbeans es lo mismo que la versión anterior, pero incluye netBeans, un entorno visual de desarrollo.

El JDK viene con un conjunto de herramientas las cuales son:
Un compilador de Java (javac).
Máquina virtual de java.
Herramienta para visualizar applets.
Un depurador (jdb).
Una herramienta de documentación (javadocs).

El SDK nos proporciona las herramientas necesarias para hacer nuestros programas, pero todas estas herramientas son a base de comandos. Esto quiere decir que nuestro programa java debemos escribirlo con un editor de nuestro sistema operativo (el notepad, por ejemplo, en windows o el vi en linux). Luego, desde una ventana de ms-dos o shell de linux, compilamos el programa por medio del comando javac. Finalmente, desde la misma ventana, lo ejecutamos con el comando java.