| Artículos | 01 MAY 1998

Introducción: Aplicaciones Java

Tags: Histórico
Curso de Java (1)
Jaime Peña.

Tras pocos años de desarrollo, el lenguaje Java se ha convertido en uno de los favoritos de los programadores para Internet . Es, con diferencia, el que ha logrado un mayor número de adeptos en tan corto plazo .

El lenguaje Java, que se presenta como un lenguaje de aplicación general, tiene sus raíces en la interconexión de ordenadores a través de sistemas de red . Pronto ha evolucionado a ser un sistema ideal de programación de aplicaciones distribuidas en Internet e intranets . Su filosofía de trabajo ha alcanzado cotas tan amplias que hoy en día se habla insistentemente de sistemas operativos basados en Java, máquinas virtuales más eficientes y en plataformas hardware Java, que toman como base este lenguaje .

A lo largo de una serie de artículos que aquí comenzamos trataremos de ilustrar las bases de programación en Java, enfocándolo fundamentalmente en los aspectos más prácticos de la programación para Internet . Obviamente, no podremos abarcar todos los aspectos que Java incluye . Aunque suponemos que usted pueda no ser un programador, no estaría nada mal que partiese de una base de conocimientos de algún lenguaje orientado a objetos, como C++ o cualquier otro . Las bases sintácticas las iremos desgranando conforme las utilicemos y en este primer artículo daremos un repaso al aspecto general de un programa Java, para avanzar en los posteriores en las bases del lenguaje y en aplicaciones más concretas .

Origen y aplicaciones del lenguaje Java

El lenguaje Java apareció en 1995 y su emerger es uno de los fenómenos más atractivos de la informática de los últimos años . Concebido como lenguaje de aplicación general, realmente su trascendencia se basa en el potencial de implementar aplicaciones multiplataforma que pueden ser transmitidas rápida y eficientemente a través de Internet . Pero Java no sólo es un lenguaje de programación, ha pasado a representar una filosofía de entender la informática ?desde el software al hardware? y también una posibilidad de crear un sistema de desarrollo más abierto, que no sea dependiente de una empresa . Las luchas públicas, con tribunales por medio incluidos, entre Microsoft Corp . y Sun Microsystems no son una mera anécdota, por contra muestran la importancia que la industria le ha dado a Java .

El lenguaje Java ha sido diseñado con varias referencias preferentes: facilidad de programación, seguridad y rapidez en transferirse y ejecutarse en un sistema de red . Todo esto le dota de unas posibilidades hasta el presente inusitadas, es ágil en el tratamiento de datos, es multiplataforma, por lo que no hay que rediseñar aplicaciones para diversos tipos de ordenadores, evita problemas de corrupciones de memoria y que aplicaciones malintencionadas puedan inmiscuirse en nuestro ordenador, los programas compilados son cortos y requieren un hardware escaso, lo que lo hace ideal para soporte para dispositivos de mano ?telefonía móvil, gestores de información conectables a la red, etc . ? . Obviamente, tiene también algunos inconvenientes, fundamentalmente que su carácter mixto compilado/interpretado, no lo hacen especialmente adecuado para utilizarlo en sistemas de sobremesa, ya que donde no hay problemas de memoria y seguridad, no compite ( al menos hasta el presente ) con aplicaciones desarrolladas con lenguajes compilados y que utilicen masivamente recursos hardware dependientes de la máquina .

Si bien Java es un lenguaje de aplicación general, no podemos obviar lo evidente: Java encuentra su máxima razón de ser en sistemas de red de amplio alcance y con posibilidad de servir información muy diversa y a demanda ?Internet, dicho de otra forma? . Aquí, la programación Java tiene la forma de los denominados applets, que son miniaplicaciones que van insertadas en documentos HTML . A lo largo de este curso, nos centraremos fundamentalmente en este aspecto: programar en Java para Internet .

Los subprogramas o applets de Java están limitados ( por propia constitución, derivada de un diseño específico para proteger la seguridad ) en algunas capacidades potencialmente peligrosas para los usuarios de Internet: no pueden acceder a archivos del ordenador cliente, no pueden ejecutar programas en el ordenador cliente y tampoco pueden conectar máquinas a través de Internet, excepto con el servidor .

Fundamentos del lenguaje

El lenguaje Java es un lenguaje orientado a objetos, cuya sintaxis es muy similar al lenguaje C/C++, dado que de él deriva . Sus diferencias, no obstante, son importantes y se refieren a limar algunas asperezas del lenguaje C/C++ y adecuarlo a sus características de multiplataforma y seguridad . Entre las diferencias destacan:

- No existen las posibilidades de trabajar con la directiva #define, definición de tipos ( typedef ) , sobrecargas de operadores, enumeraciones ( enum ) , uniones ( union ) y estructuras ( struct ) . Todo eso se ha hecho para mejorar la legibilidad de los programas .

- Tal vez lo más importante es la desaparición total de la aritmética de punteros . Todo programador de C/C++ sabe de su potencial bruto y también de las dificultades de su depuración de los posibles errores en tiempo de ejecución .

- Siendo un lenguaje orientado a objetos, no implementa la herencia múltiple . Éste ha sido siempre un tema controvertido; lenguajes tan estructurados como Object Pascal, tampoco la implementan .

- No se pueden definir variables globales, funciones independientes ?todas deben ser métodos dentro de clases? y funciones friend ?se sustituyen por packages, como en Objective C? y las funciones no virtuales .

- Hay comprobación automática de límites de matrices .

- Se mejora y automatiza la gestión de memoria, con reserva y liberación de memoria, sin precisar hacerlo de forma explícita . También se implementa la recolección de memoria ya no utilizada ?garbage collection? . Esto evitará corrupciones de memoria y reservas innecesarias de recursos del sistema .

Si usted conoce la programación en C/C++, muy sencilla le será la transición al lenguaje Java y verá que, normalmente, eso supone una simplificación de las tareas de programación . En el lado necesariamente menos positivo, encontrará limitaciones en el acceso directo al hardware y en no poder aprovechar las características intrínsecas de una determinada plataforma . Todo ello es esencia fundamental de la filosofía Java .

Conocer la esencia del lenguaje, como tipos de datos, construcción de objetos, estructuras de control y demás, es un apartado que iremos exponiendo como ejemplo a lo largo del presente curso . Un buen punto de partida puede ser cualquier manual de Java e, incluso, de C/C++; no deje de hacerse con uno para romper el fuego de lo meramente sintáctico, que no debería ser problemático para cualquier programador de virtualmente cualquier lenguaje . Para este fin, en ocasiones nos ocuparemos de ir dando referencia de la bibliografía que pudiera ser de interés .

Cuando se desarrolla una aplicación Java, al final del proceso se crea un archivo de clase ( con extensión . class ) que contiene código semicompilado, lo que se llama bytecodes . Los bytecodes generados no contienen código referente a un procesador concreto y es misión de un intérprete Java ?denominado Just in Time Compiler, JIT, algo así como compilador instantáneo? traducir los bytecodes a código nativo de cada procesador específico . Esto es lo que se denomina la JVM ( Java Virtual Machine, Máquina Virtual Java ) ; algo así como un emulador software de un procesador imaginario, que interpreta el código Java y lo traduce y transfiere al verdadero procesador hardware del ordenador donde se ejecuta el programa Java .

Configuración del sistema

El lenguaje Java fue pensado para ser soport

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información