Java y JavaScript

 

Home
Subir nivel
Sitios favoritos
Siglas de Internet
Java y JavaScript

"Er Nyquist" Home Page - Los lenguajes de internet

undercon.gif (293 bytes) ¡¡¡ 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.

 

Interpretado

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.
 
 

"Er Nyquist" Home Page  -- Para cualquier cuestión o sugerencia, escribe a:  nyquist@softhome.net