Hace 30 años, un programador de Netscape creó en 10 días la primera versión de uno de los lenguajes más usados hoy en Internet

Si nuestras webs son hoy interactivas es gracias a él

JS
Facebook Twitter Flipboard E-mail
marcos-merino

Marcos Merino

Editor

Hace tres décadas, en mayo de 1995, un joven ingeniero llamado Brendan Eich, recién incorporado entonces a Netscape Communications, se encerró durante diez frenéticos días para construir un prototipo funcional de un nuevo lenguaje de programación destinado a proporcionar interactividad a las páginas web.

Pero este mero experimento improvisado (un 'hack', como él mismo lo llamaría tiempo después) se terminaría convirtiendo en el motor de la web moderna, una herramienta omnipresente que hoy utilizan casi todos los sitios de Internet.

Un vistazo a…
La carrera de programador en 2017 y en el futuro (con Javier Santana)

Cuando la web todavía era estática

En 1995, la World Wide Web atravesaba un momento decisivo: la navegación era esencialmente pasiva: el usuario leía texto, veía imágenes estáticas y seguía enlaces. Netscape, creadora del entonces revolucionario Netscape Navigator (el bisabuelo tanto de Mozilla Firefox como de Mozilla Thunderbird), vio un enorme potencial en la posibilidad de convertir esas páginas estáticas en entornos dinámicos y participativos.

Su objetivo era crear un lenguaje sencillo, accesible para diseñadores y profesionales sin formación profunda en programación. Era fundamental que se ejecutase dentro del navegador, sin necesidad de compilaciones complejas y sin requerir el conocimiento de lenguajes tradicionales como C o Java.

Diez días que cambiaron Internet

Eich había sido contratado para trabajar con Scheme —un lenguaje funcional, elegante, pero poco conocido—, aunque la dirección de Netscape tenía otros planes: querían algo que "se pareciera" a Java, el lenguaje de moda por aquel entonces. Así que nuestro programador combinó influencias diversas:

  • La sintaxis: Corchetes, puntos y comas, estructuras if y while, funciones declaradas con una estética familiar… todo inspirado en Java para satisfacer al departamento directivo.
  • La semántica: heredada de Scheme, lenguaje que Eich admiraba. De ahí vienen las funciones de primera clase, las 'closures', la flexibilidad para manipular funciones como datos, y una forma de evaluar expresiones muy distinta a la de Java o C.
  • El modelo de objetos por prototipos: tomado de Self. Así, en vez de adoptar la clásica herencia por clases (como en Java), Eich incorporó el enfoque de prototipos, donde los objetos se crean a partir de otros objetos. En 1995, esta idea era vista como exótica e incluso extraña por muchos programadores formados en lenguajes clásicos.

El resultado fue un híbrido sorprendente: ligero, flexible y lo suficientemente intuitivo como para ser adoptado por creadores de contenido web sin formación técnica avanzada. Aquel primer prototipo no era un lenguaje completo, sino una prueba de concepto interna... pero funcionaba, y eso bastó para que Netscape redoblara su apuesta. Y así terminó naciendo JavaScript.

La evolución de dicho prototipo todavía continuaría durante más de un año hasta su lanzamiento público en septiembre de 1995 y de la versión 1.0 en marzo de 1996. En aquel momento, Netscape y Sun Microsystems anunciaron conjuntamente el lenguaje y consiguieron el apoyo de 28 grandes compañías tecnológicas.

Paradójicamente, JavaScript ha terminado sobreviviendo a muchas de esas empresas —como Silicon Graphics, Digital Equipment Corporation o la propia Netscape—.

Las prisas dejan huella

El desarrollo acelerado dejó un legado peculiar: sus inconsistencias, aún famosas entre los programadores. Resulta que JavaScript fue diseñado para ser tolerante: si el usuario cometía un error, lo ideal era que la página siguiera funcionando.

Y esa filosofía llevó, por ejemplo, a implementar un sistema extremadamente flexible —y a veces impredecible— de coerción de tipos. Ejemplos famosos:

  • [] + [] produce "" (una cadena vacía).
  • [] + {} produce "[object Object]".
  • {} + [] produce 0 en algunos contextos.
  • "5" - 2 da 3, pero "5" + 2 da "52".

Estos comportamientos se deben a reglas de conversión creadas rápidamente para compatibilizar cadenas, números y objetos sin romper el flujo del usuario, pero sin un diseño coherente a largo plazo. Sin embargo, estas imperfecciones no frenaron su éxito.

La 'era JavaScript'

Hoy JavaScript es mucho más que un lenguaje de navegador. Sus descendientes y ecosistemas relacionados se han expandido a prácticamente todos los ámbitos:

  • Casi el 99 % de los sitios web utilizan JavaScript en su lado cliente.
  • Con Node.js, se convirtió también un lenguaje de servidor.
  • Frameworks como React, Angular o Vue dominan el desarrollo frontend.
  • Se utiliza en aplicaciones móviles, escritorio, videojuegos y hasta en dispositivos embebidos.

En todas las encuestas de uso y popularidad, JavaScript sigue liderando como uno de los lenguajes más empleados del mundo.

Imagen | Marcos Merino mediante IA

En Genbeta | "Lo mejor que podemos hacer hoy con JavaScript es retirarlo": así habla el creador de JSON y autor de 'How JavaScript Works'


Inicio