| Programaci�n: Java: Introducci�n |
Con el lenguaje de programaci�n Java es posible incrustar una aplicaci�n multiplataforma dentro de una p�gina Web con los llamados applets. Es necesario utilizar un navegador o browser compatible con Java como Sun Hot_Java, Netscape 2.x, Internet Explorer 3.0 o superiores.
Con Java tambi�n es posible implementar
programas como C++, que no se ejecuten a trav�s de Internet, sino de forma local y sin la
necesidad de utilizar un navegador.
Java es un lenguaje de programaci�n orientada a objetos que ha sido desarrollado por Sun
Microsystems.
Java, cuya denominaci�n original fue Oak (1991) fue dise�ado para programar dispositivos
electr�nicos de consumo y crear una red heterog�nea de productos electr�nicos
dom�sticos.
Independencia de plataforma
Java frente a cualquier otro lenguaje de programaci�n, se caracteriza por su
independencia con respecto al hardware o plataforma, tanto al nivel de c�digo fuente como
a nivel binario. A nivel de c�digo fuente, las estructuras de datos primitivas de Java
tienen el mismo tama�o para cualquier plataforma de desarrollo.
Los ficheros binarios de programas Java tambi�n son independientes y pueden ejecutarse
sobre distintos sistemas sin necesidad de recompilar el c�digo fuente.
Lenguaje de programaci�n orientada a objetos
Java es un lenguaje de programaci�n orientada al objeto, por lo tanto soporta las tres
caracter�sticas de este tipo de programaci�n: Encapsulaci�n, herencia, y polimorfismo.
Java se basa en C++, con una sintaxis similar, pero est� dise�ado para evitar las
caracter�sticas m�s problem�ticas de C++, lo que hace m�s f�cil la programaci�n en
Java. Incluye un conjunto de librer�as de clases para obtener los tipos de datos
b�sicos, procedimientos de entrada/salida, comunicaciones a trav�s de red, lleva
integrados protocolos de Internet(TCP/IP, HTTP y FTP) y funciones para desarrollar
interfaces de usuario.
Otra de las funcionalidades inexistentes en C++ y qu� si incluye Java es la resoluci�n
din�mica de objetos. En C++ se suele trabajar con librer�as din�micas (DLLs) que
obligan a recompilar la aplicaci�n cuando se retocan las funciones que se encuentran en
su interior. Este inconveniente es resuelto por Java mediante un interfaz espec�fico
llamado RTTI (RunTime Type Identification) que define la interacci�n entre objetos
excluyendo variables de instancias o implementaci�n de m�todos. Las clases en Java
tienen una representaci�n en el int�rprete que permite a los programadores interrogar
por el tipo de clase y enlazar din�micamente la clase con el resultado de la b�squeda.
Robustez: Java se puede considerar un lenguaje robusto. A diferencia
de C++, con el que resulta sumamente f�cil tener que reiniciar el ordenador por culpa de
alg�n error de programaci�n. Java obliga a la declaraci�n expl�cita de m�todos,
reduciendo as� las posibilidades de error. Java soporta punteros, pero no as� la
aritm�tica propia que �stos tienen en C++. Se implementan arrays aut�nticos, en vez de
listas enlazadas de punteros que se�alan a zonas equivocadas.
Multienhebramiento: Java puede trabajar con sistemas operativos de alto nivel
que soportan multienhebramiento. De esta forma un programa Java puede tener m�s de una
hebra en ejecuci�n. Por ejemplo, podr�a realizar un c�lculo largo en una hebra,
mientras otras hebras interact�an con el usuario. As� los usuarios no tienen que dejar
de trabajar mientras los programas Java complementan las operaciones m�s largas.
La programaci�n en un entorno multienhebrado suele ser dif�cil porque pueden producirse
varios eventos al mismo tiempo. Java, sin embargo, posee caracter�sticas de
sincronizaci�n f�ciles de utilizar que simplifican la programaci�n.
Las hebras Java suelen corresponder a hebras reales del sistema operativo, si el sistema
operativo de la m�quina soporta esta caracter�stica.
Los programas Java se dividen en dos grupos: Applets y Aplicaciones.
Los Applets: son programas Java que se encuentran en un servidor de
p�ginas Web y son ejecutados por un navegador Web en el ordenador cliente. Si el cliente
no posee un navegador que soporta Java, no podr� ejecutar los applet. Para que se ejecute
el applet, se debe hacer referencia a �ste dentro del texto HTML, utilizando el tag
<APPLET CODE="<APPLET CODE=">nombre.class">
Las Aplicaciones: son programas independientes y m�s generales escritos en
lenguaje Java. Estas aplicaciones no necesitan de un navegador para ejecutarse, y de
hecho, se puede utilizar Java para escribir un programa como en C o Pascal. Para ejecutar
estos programas se debe utilizar el int�rprete o m�quina virtual Java.
Incompatibilidades y seguridad
Aunque Java naci� como una filosof�a de crear programas independientes de la plataforma,
tambi�n en este lenguaje se producen incompatibilidades.
Java permite crear programas que son transferidos a la computadora del usuario y
ejecutados ah�. Esto significa que cuando el usuario tiene acceso a un sitio Java, el
software es transferido en forma autom�tica a la computadora y ejecutado. Esto le da al
programa Java la oportunidad para hacer cosas como instalar un virus o alterar, destruir o
recuperar datos.
A pesar de que los programadores de Java lo dise�aron para ser bastante seguro
manteniendo afuera comandos que permitieran a los programadores tener acceso a �reas
prohibidas o usar recursos en forma inapropiada, existen agujeros que permiten a un
cracker persistente tener acceso a �reas indeseables.
Adem�s, mucho del c�digo fuente Java abunda en Internet. Es f�cil para los crackers
modificar las bibliotecas existentes o crear rutinas falsas o reemplazar rutinas que
cuando son usadas por desarrolladores confiados, introducen inestabilidades.
A�n no est� en claro si Java se volver� una amenaza grave para la seguridad o no. Por
eso se debe tener cuidado extra cuando dise�e su propio Java; partiendo de cero y usando
lo menos posible los ejemplos de dominio p�blico existentes. Y adem�s usar bibliotecas
Java que provengan de sitios oficiales, donde puede tener garantizado que son la versi�n
apropiada y que no han sido alterados.