HTMLpointHTMLpoint HTMLpoint.com


 Aspectos y características generales



Javascript es muy fácil de aprender para quien ya conoce lenguajes similares como el C++ o Java, pero, dada su simplicidad sintáctica y su manejabilidad, no es tampoco difícil para quien se acerca por primera vez a este lenguaje. Sin embargo, esto puede ser un arme de doble filo porque la simplicidad se basa en una disponibilidad de objetos limitada, por lo que algunos procedimientos, aparentemente muy sencillos, requieren script bastante complejos.

La característica principal de Javascript, de hecho, es la de ser un lenguaje de scripting, pero, sobre todo, la de ser el lenguaje de scripting por excelencia y, sin lugar a dudas, el más usado. Esta particularidad conlleva una notable serie de ventajas y desventajas según el uso que se le deba dar y teniendo en cuenta la relación que se establece entre el mecanismo cliente-servidor. Para explicar con pocas palabras dicha relación, podemos decir que el servidor envía los datos al cliente y estos datos pueden llegar en en dos formatos diversos: en formato texto (o ASCII) o en formato binario (o código máquina: El cliente sabe cómo comprender sólo el formato binario (es decir, la secuencia de 1 y 0), por lo que si los datos llegan en este formato son inmediatamente ejecutables (y, por desgracia, no dejan abierta la posibilidad de efectuar controles), mientras que si el formato es diverso tienen que ser interpretados y traducidos al formato binario y, por tanto, el cliente necesitará un filtro, o mejor dicho, un intérprete que sepa leer estos datos y los pueda traducir al binario. Los datos en formato texto son visibles al usuario como simples combinaciones de caracteres y de palabras y son, por tanto, fáciles de manipular, si bien requieran más tiempo para su interpretación a causa de los distintos pasos y de las transformaciones a las que deben someterse para que el cliente pueda comprenderlos: Los datos en formato binario, sin embargo, son difíciles de comprender por el usuario, pero inmediatamente ejecutables por el cliente ya que no requieren fases intermedias.

Sentada esta premisa, podemos dividir los lenguajes que suelen utilizarse en el web en cuatro tipologías:

  1. HTML: está en formato texto y no es un lenguaje en el sentido tradicional, sino un empaginador para consentir colocar los objetos en la página con las características indicadas. Naturalmente, por esta peculiaridad, tiene un carácter estático y no interactúa con el usuario ni puede tomar decisiones sino por lo que se refiere a los formularios. Para su interpretación necesita un navegador;
  2. lenguajes compilados: son lenguajes bastante complejos en los que la fuente (un file de texto con las operaciones que hay que ejecutar) se compila en código máquina y se empaqueta en un ejecutable que puede utilizarse sólo de la forma y para las operaciones para las que se ha proyectado;
  3. lenguajes semicompilados: en realidad, a esta clase pertenece tan sólo Java porque es un lenguaje compilado en un formato intermedio entre los file ASCII y el file binario. Dicho formato se llama bytecode y es interpretado en el cliente por una máquina virtual llamada Java Virtual Machene. De esta manera, a la recepción, dicha máquina completa la compilación y hace que el file sea ejecutable;
  4. lenguajes interpretados: son los que resultan muy similares al HTML, pero que tienen mayores potencialidades porque permiten efectuar controles y operaciones complejas. Se envían en en file ASCII y, por tanto, con código en claro que el navegador interpreta y ejecuta línea por línea en modalidad runtime.

El concepto de script queda bien expresado con una comparación que podemos leer en el texto de Michael Moncur sobre Javascript, recientemente publicado en Italia por Tecniche Nuove. La explicación es muy eficaz y merece citarse: script en inglés significa "guión". De hecho, el uso es exactamente éste: el navegador lee una línea, la interpreta y la ejecuta, después pasa a la sucesiva y hace lo mismo, y así hasta el cierre del script.

Ventajas y desventajas

¿Cuáles son las ventajas y cuáles las desventajas respectivasde los lenguajes de scripting y los lenguajes compilados? Intentemos resumir algunas::

  1. el lenguaje de scripting es seguro y fiable porque está en claro y y hay que interpretarlo, por lo que puede ser filtrado; para el mismo Javascript, la seguridad es casi total y sólo en su primera versión el CIAC (Computer Incident Advisory Committee) señaló problemas de leve entidad, entre ellos la lectura de la caché y de los sitios visitados, de la dirección e-mail y de los file presentes en el disco. Sin embargo, estos fallos se corrigieron ya en las versiones de Netscape sucesivas a la 2.0;
  2. los script tienen capacidades limitadas, por razones de seguridad, por lo cual no es posible hacer todo con Javascript, sino que es necesario usarlo conjuntamente con otros lenguajes evolucionados, posiblemente más seguros, como Java. Dicha limitación es aún más evidente si queremos operar en el hardware del ordenador, como, por ejemplo, la fijación en automático de la resolución vídeo o la impresión de un documento;
  3. un problema importante es que el código es visible y puede ser leído por cualquiera, incluso si está protegido con las leyes del copyright. Esto, que en mi opinión es una ventaja, representa el precio que tiene que pagar quien quiere utilizar el web: la cuestión de los derechos de autor ha asistido a una verdadera revolución con la llegada de Internet (citamos, como ejemplo más representativo, el MP3). La tutela que proporcionan las leyes actuales resulta débil e inadecuada, por lo que la única solución es tomarse las cosas con filosofía;
  4. el código Javascript se ejecuta en el cliente por lo que el servidor noes solicitado más de lo debido; un script ejecutado en el servidor, sin embargo, sometería a éste a dura prueba y los servidores de capacidades más limitadas podrían resentir de una continua solicitud por un mayor número de usuarios;
  5. el código del script debe descargarse completamente antes de poderse ejecutar y ésta es la otra cara de la moneda de lo que hemos dicho anteriormente: si los datos que un script utiliza son muchos (por ejemplo, una recopilación de citas que se mostrara de manera casual), el tiempo que tardará en descargarse será muy largo, mientras que la interrogación de la misma base de datos en el servidor sería más rápida.

  Vuelve a principio de página