Ir directamente al contenido de esta página

codexexempla.org

Lenguajes de script y JavaScript

Tabla de contenidos

  1. Un poco de historia
  2. JavaScript hoy

Un poco de historia

En 1995 Brendam Eich desarrolló un lenguaje de comandos a procesar en el lado del cliente para el lanzamiento de Netscape 2.0. La idea era reducir el número de peticiones de proceso al servidor de una página en una época en que un módem no podía ofrecer más de 28.8 kbps, que en velocidad real no era ni la décima parte. Un ejemplo paradigmático es la validación de un formulario: si para cada comprobación había que esperar a enviar los datos y recibir respuesta del servidor, el proceso podía alargarse hasta la desesperación. Por ello Eich ideó LiveScript, un lenguaje con el que poder programar comportamientos interpretados en el navegador.

Para desarrollar el lenguaje, Netscape pidió la cooperación de Sun Microsystems, y poco antes del lanzamiento de Netscape 2.0 cambió el nombre del lenguaje a su denominación actual, JavaScript, en gran medida para atraer parte de la publicidad que por entonces estaba logrando un lenguaje con el que programar applets que podían incrustarse en una página web, y que había sido también desarrollado por Sun, Java, aunque en realidad los dos lenguajes poco tienen que ver entre sí.

JavaScript 1.0 fue un éxito, lo que tuvo dos consecuencias:

El día nefasto en que ocurrió lo segundo se dio el pistoletazo de salida de lo que se conocería como la guerra de los navegadores.

Por supuesto, la implementación independiente de funcionalidades propietarias de los dos navegadores convertía la programación y el mantenimiento de scripts en un calvario para el desarrollador.

En vista del caos, en 1997 Netscape envió como propuesta de estándar a ECMA la especificación de JavaScript 1.1. Según se lee en el documento sobre los objetivos del comité técnico (inglés), se trataba de definir:

…the syntax and semantics of the general purpose, cross platform, vendor-neutral scripting language…

[…la sintaxis y la semántica de un lenguaje de propósito general, independiente de plataforma y no propietario…]

El comité técnico estaba compuesto por especialistas de Netscape, Sun, Microsoft, Borland y otros, y tras meses de trabajo dio a luz un lenguaje, el ECMAScript, recogido en el estándar ECMA-262, y que debía ser la base de para la futura implementación de un lenguaje de script en los navegadores1.

Pero no todo iba a ser tan sencillo. La edición de ECMAScript aceptada como estándar internacional por ISO fue la segunda2, la de 1998. Sin embargo, en 1997 Netscape 4.0 ya llevaba implementado el soporte de JavaScript 1.2 que, al igual que el 1.1, no era conforme a ECMAScript —que aún estaba en desarrollo—. A su vez, Microsoft desarrolló para Explorer 4.0 JScript 3.03, no conforme con ECMAScript e incompatible con JavaScript.

La primera versión de JavaScript compatible con ECMAScript fue la 1.3, soportada por Netscape 4.06, aunque incluía heredadas características de 1.2 no independientes del navegador. Igual ocurrió con el soporte de Microsoft, que modificó JScript hasta el punto de no poder diferenciarlo de JavaScript, y lo hizo conforme a ECMA-262 en la versión 5.0 de su navegador.

Actualmente la mayoría de los navegadores soportan la edición 3 de ECMAScript; los problemas de desarrollo por las incompatibilidades se deben a los métodos propietarios heredados de las primeras implementaciones, y del soporte de otros componentes de JavaScript.

JavaScript hoy

JavaScript consta de tres componentes:

Además, JavaScript ha seguido desarrollándose; la versión actual es la 1.5 —la 1.4 se desarrollo como un lenguaje del lado del servidor—, y por lo visto Eich está trabajando en JavaScript 2.0 (inglés).

En las siguientes páginas veremos los puntos básicos de la sintaxis de JavaScript ajustada a ECMA-262 (inglés), una introducción a lo que es el DOM y algunos aspectos del BOM.

Notas

  1. Y no sólo por los navegadores. ActionScript, el lenguaje de programación de Adobe Flash, está desarrollado en conformidad con ECMAScript. Volver
  2. El estándar es el ISO/IEC 16262:1998. La edición actual es la tercera, y está recogida en ISO/IEC 16262:2002. Volver
  3. JScript 2.0 fue un lenguaje del lado del servidor para IIS. Volver

Contacto

En virtud de la Ley Orgánica 15/1999 de Protección de Datos de Carácter Personal le informo de que los datos que proporcione no serán empleados para otro fin que el de responder a su mensaje. En especial, me comprometo a no cederlos a terceros ni a emplearlos para enviar información no solicitada.

Del blog de Digital Icon