|




| |

¡¡¡ EN
CONSTRUCCIÓN!!!
JAVA
Java es un lenguaje de programación creado por
un grupo de ingenieros de Sun a
principios de los años 90. Casi desde el principio fue diseñado teniendo en mente las
características que se esperaban de los lenguajes de última generación : orientado a objetos, capaz de funcionar
en red, dotado de un conjunto amplio de herramientas gráficas
y multienhebrado. Además, para facilitar la portabilidad
entre distintos sistemas operativos y microprocesadores, se decidió que fuera un lenguaje interpretado.
Una de las razones de su repentino éxito ha sido
el hecho de que Netscape incluyera un interprete de
este lenguaje en su programa Netscape Navigator. Desde entonces, otras empresas, como Microsoft, o la propia Sun han sacado al mercado otras
programas con interpretes de Java. Este hecho posibilita que pequeños programas
("applets") se ejecuten en los clientes Web permitiendo llevar a cabo
arquitecturas cliente/servidor de una forma sencilla e independiente de la plataforma
hardware que utilice el ordenador cliente.
Aunque Java no se limite a ejecutarse en forma de
applets, el hecho de que se pueda integrar tan fácilmente en programas como Navigator o
Internet Explorer ha hecho posible su rápida difusión.
| Orientado a objeto |
|
Java es un lenguaje
totalmente orientado a objeto. Desde las aplicaciones individuales hasta los efectos
gráficos, pasando por la entrada/salida, la gestión de errores, etc. todos los elementos
que forman el lenguaje son objetos. A diferencia de entornos de programación como Visual Basic (que es un lenguaje
"basado en objetos"), Java está totalmente orientado a objeto debido a que el
programador puede usar los objetos existentes, derivar otros objetos a partir de los
anteriores, o crear objetos totalmente nuevos.
Esta flexibilidad hace posible un sistema de
programación menos propenso a errores y más fácil de depurar y extender. Por
requerimientos del sistema, cada applet (o cada aplicación completa) es siempre un
objeto, con unas funciones perfectamente delimitadas y con unos interfaces públicos con
el exterior que pueden ser usados por cualquier programador, aunque no tenga acceso al
código fuente.
|
| Capaz de trabajar en red |
|
Java no necesita bibliotecas
externas para trabajar en red, sino que tiene integrado en el propio núcleo del lenguaje
todos los elementos necesarios para abrir, usar y cerrar conexiones TCP o UDP. Los accesos
a archivos remotos son transparentes al usuario y al programador. El interprete Java puede
leer archivos de un servidor HTTP remoto de la misma forma que lee un archivo de un
directorio local. De todas
formas, las Applets que se ejecutan en navegadores Web convencionales se encuentran
seriamente limitadas en este sentido (por razones de seguridad, y no por problemas
técnivos) Un applet que se encuentre en una página Web solo puede realizar conexiones de
red con el servidor desde el cual ha sido transferido. De esta forma se evita que applets
distribuidas de forma masiva a través de páginas Web pudieran saturar a otros
ordenadores conectados a Internet.
Esta limitación, que puede ser muy severa para
ciertas aplicaciones, puede ser solventada ejecutando los programas en forma de
aplicaciones indivuduales, y no como applets en una página Web. Cómo ejemplo, el
navegador HotJava, desarrolado por Sun, es un programa enteramente desarrollado en Java
que permite conectarse con cualquier servidor Web de Internet.
|
| Herramientas gráficas |
|
El programador de Java tiene a su
disposición un conjunto de herramientas estándar que le permiten desarrollar apliaciones
complejas basadas en interfaces gráficas de usuario (GUI). Este conjunto de herramientas
se denomina AWT (Abstract Window Toolkit) y facilita el uso de elementos tan típicos como
ventanas, botones, cuadros de diálogo, etc. Además, AWT tiene la suficiente flexibilidad como para
que un programador pueda personalizar todos sus componentes, derivando nuevos objetos de
los ya existentes.
De todas formas, el abanico de posibilidades que
ofrece AWT no es, ni mucho menos, tan variado, completo y maduro como otras API's ya
consolidadas como las que se encuentran en los sistemas operativos comerciales, como
Windows, MacOS o las distintas versiones de Unix.
|
| Multienhebrado |
|
Java es un entorno de ejecución
multienhebrado, lo que significa que un mismo programa Java puede subdividirse en varias
unidades de proceso concurrentes, es decir, que se ejecutan al mismo tiempo, en el mismo
espacio de direcciones y compartiendo las mismas variables. Esto permite crear de forma sencilla programas que
realicen más de una cosa a la vez, aunque exige un gran cambio de mentalidad a la hora de
programar.
Un programa multienhebrado puede estar realizando
una transferencia larga de información con un servidor de Internet al mismo tiempo que
otra hebra de ejecución realiza cálculos en segundo plano, mientras que una tercera se
encarga de atender las peticiones que el usuario le hace a través del ratón y el
teclado.
|
|
|
Todas estas virtudes debian tener,
por supuesto, un coste: Java es, en la mayoría de los casos, un lenguaje interpretado.
¿Qué quiere decir esto? Pues que un programa especializado, el interprete de Java, debe
ir leyendo el código del programa instrucción a instrucción para descubrir cuál es la
proxima acción a realizar. Esta operación cuesta muchos más ciclos de CPU que ejecutar
un programa en código máquina nativo, ya que en este último caso es el propio
microprocesador el que se encarga de decodificar las instrucciones en hardware.
¿Por qué Java no se compila en código
máquina, como el resto de programas? Pues precisamente para permiitir que pueda
ejecutarse en cualquier ordenador de Internet, tenga éste un microprocesador 80x86,
680x0, PowerPC, Alpha, MIPS, etc...
Además, el hecho de que sea un lenguaje
interpretado se convierte en una medida de seguridad para el ordenador en que se ejecuta
el applet, ya que el interprete, a modo de sistema operativo, puede filtrar todas las
opraciones de entrada/salida, como acceso a archivos o al hardware del sistema.
Todas estas medidas de seguridad impiden que se
puedan transmitir virus escritos en Java a través de Internet, o que un desconocidao
pueda leer información privada de nuestros archivos para transmitirla a un servidor
central. |
JAVASCRIPT
El lenguaje de programación "JavaScript" fue creado por la compañía
Netscape hacia finales de 1995 como un medio para cubrir las necesidades expuestas
por muchos usuarios respecto a la interactividad de las páginas Web y a las limitantes
del lenguaje HTML.
En teoría el lenguaje está diseñado para que pueda ser usuado por cualquier tipo de
desarrollador de páginas Web sin importar si tiene o no conocimientos previos de
programación. En la práctica, esto no es tan natural, sin embargo, con un poco de
paciencia y tiempo cualquier persona puede escribir aplicaciones en JavaScript que sean
funcionales en una página Web.
La mayoría de nosotros hemos escuchado a cerca de Java, el lenguaje de
programación para el World Wide Web (y otras aplicaciones) desarrollado por Sun
Microsystems, sin embargo, es un hecho que este lenguaje no está al alcance de la
mayoría de las personas ya que es "muy dificil" de aplicar e implica invertir
mucho tiempo en su aprendizaje. Fue por esto que Netscape decidío generar el
lenguaje JavaScript que fué originalmente llamado "LiveScript"
hasta que se firmaron acuerdos con Sun que permitieron hacer pública la
tecnología empleada en su desarrollo.
Los acuerdos incluyen a otras 25 firmas de las más importantes en el desarrollo de
herramientas para el Web por lo que, a partir de Diciembre de 1995, se considera a JavaScript
como un estándar de facto y, posiblemente en poco tiempo, un estándar oficial para
desarrollar páginas "interactivas" de Web.

¿Qué es JavaScript?
JavaScript es un lenguaje de programación especializado para el desarrollo de
aplicaciones para servidores y clientes del Web. Se dice que este lenguaje está diseñado
para personas no-programadoras y para autores de páginas que utilicen HTML. Esta
afirmación es debatible ya que, aunque es mucho más sencillo que Java tiene su
complicación y, si usted en un no programador es probable que no pueda aprenderlo en las
noches mientras se prepara para descansar.
La forma de trabajar con JavaScript es la siguiente:
 | Se escribe el programa directo en un documento HTML utilizando algunas etiquetas
especiales para que quede "incrustado" dentro del mismo. |
 | El navegador recibe el código incrustado y lo interpreta para realizar las acciones
solicitadas en el mismo. |
Esto significa que el programa JavaScript se ejecuta directo en la computadora
cliente lo que incrementa la velocidad del proceso de forma dramática.
Por otro lado existen dos tipos de lenguajes de programación, los
"interpretados" (como JavaScript) y los "compilados" (como Java
o C). La diferencia principal entre ambos es que los lenguajes compilados
requieren de ser traducidos por un programa especial llamado "compilador" para
que puedan ser ejecutados por las computadoras mientras que los lenguajes interpretados no
requieren traducción, solo necesitan de un "interprete" (en este caso el
navegador Netscape) que los ejecute.
Esta diferencia, aunque sutíl, es muy importante ya que simplifica el uso de JavaScript
al ser el navegador un interprete de este lenguaje (si es compatible, como el Netscape o
el IE de Microsoft).
Además una aplicación JavaScript se puede escribir en cualquier editor de
textos (como los documentos HTML) o directo en un documento HTML ya que el interprete lo
reconoce y lo ejecuta sin importar nada más.
Aunque las funciones y acciones definidas por el código JavaScript se
encuentran en la parte superior de los documentos HTML es posible utilizarlas desde
cualquier punto del mismo gracias a algunos modificadores especiales para etiquetas
normales HTML como FORM que son capaces de invocarlo y ejecutarlo.
Estos modificadores adicionales de las etiquetas HTML son llamdos
"handlers" debido a que reflejan el hecho de que la mayoría de los códigos JavaScript
son utilizados para resolver eventos provocados por datos proporcionados por los usuarios,
ya sea mediante una forma o mediante una liga de hipertexto.
|