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.

 

Hosted by www.Geocities.ws

1