El lenguaje de programación que cambió la web (y la vida de todo internauta) cumple 26 años. Brendan Eich escribió la primera versión de JavaScript en tan solo diez días de mayo de 1995. 26 años más tarde, sigue siendo una parte muy importante de Internet
En mayo de hace 26 años, Brendan Eich se inventó un lenguaje. Trabajó a contrarreloj. Y después de 10 días con pocas horas de descanso, Netscape recibe su encargo. Era la versión primigenia de JavaScript. El lenguaje de programación que cambió la web, pensado para ser interpretado directamente en el navegador, y escrito tanto por desarrolladores de software como por diseñadores. Eich, que hoy en día se desempeña como director ejecutivo del navegador Brave, inició sus años universitarios interesado en la Física y las Matemáticas. “Pero estaba en Silicon Valley, y allí todo giraba en torno a las computadoras”. Además, la Física parecía haberse quedado estancada tras el programa espacial, así que acabó seducido por la computación.
Ahora JavaScript es el lenguaje de programación más usado y, según las encuestas de Stack Overflow, lo ha sido durante los últimos ocho años. “Si tuviera que resumirlo en una frase, diría que es lo que hace que la web sea interactiva. Es accesible para principiantes porque puedes escribir dos líneas de código y ver los resultados ante ti. En cierto sentido, democratiza, porque no necesitas ir a la universidad para aprenderlo”, concreta Jad Joubran, consultor web y docente con amplia experiencia en la enseñanza de este lenguaje. En los inicios, nos trajo botones y locos cursores animados. Con el tiempo abrió las puertas a la reproducción de vídeos, las videollamadas e incluso industria publicitaria. De hecho, es parcialmente responsable de que los sitios que visitamos nos conozcan tan bien. “Javascript no fue el único que hizo posible la monitorización en la web. Sencillamente añadió leña a un fuego que ya estaba ahí”, admite Eich.
Pero sus dominios no solo se reflejan en la ventana del navegador: JavaScript se ha metido en nuestras venas, se ha integrado en el código que controla robots, neveras, televisores y hasta bombillas. “No es una exageración decir que JavaScript nos ha cambiado la vida, hay más de 10 millones de profesionales en el mundo que se consideran desarrolladores de JavaScript. Eso es un impacto sustancial en el mundo. Otra capa de esto es que la evolución de la web no habría sido tan limpia si no hubiéramos tenido un lenguaje tan flexible en su centro”, explica Kyle Simpson, autor de la célebre serie You don’t know Javascript –No conoces JavaScript-, que nació como tres libros cortos y, muy reveladoramente, acabó convertida en una colección de seis tomos bastante largos. Para él, el camino de apertura que ha seguido este lenguaje, cuyas especificaciones están ahora estandarizadas para su uso en cualquier navegador es una parte clave del Internet que tenemos. “Las tecnologías abiertas que están al alcance de diferentes actores y evolucionan de acuerdo con sus distintas necesidades siempre aguantan mejor las pruebas del tiempo”, sentencia.
JavaScript, hijo de la guerra
La forma tan urgente con la que trabajó Eich durante la primavera de 1995 no fue nada casual: Netscape mantenía un frágil reinado sobre el mercado de los navegadores. Un paso en falso podría dar a Microsoft la ventaja que buscaba. Y viceversa. Sin embargo, Marc Andreessen, cofundador de la difunta compañía estaba tratando de cerrar un trato con la propietaria del lenguaje de programación Java, Sun Microsystems -ahora Oracle-, y se veía con fuerzas para mantener la corona. “No se contenía de decir cosas como ‘Netscape más Java mata a Microsoft’”, asegura Eich. Y esas bravatas no pasaron desapercibidas a la competencia. “Me contaron que alguien de la junta de Microsoft le dijo a Marc, en persona, ‘has agitado el capote ante la cara del toro, ahora recibirás la cornada’”.
Así estaba la situación en donde nació JavaScript. Puro fragor de la primera batalla de la guerra de los navegadores. El encargo que recibió el padre de la criatura fue desarrollar una versión del entonces popular Scheme -que había nacido en el MIT a mediados de los setenta- para navegadores, pero cuando fue a ponerse manos a la obra, las cosas habían cambiado. “La negociación con Java estaba en curso y el plan era integrarlo en Netscape. De hecho, cuando llegué, algunos en la compañía se preguntaban para qué necesitábamos entonces dos lenguajes”. La respuesta nos devuelve al tira y afloja con el naciente imperio de Bill Gates.
Microsoft estaba ganando terreno en esos años a golpe de programas amigables para el usuario universal. El nuevo lenguaje de Netscape estaba llamado a ser un puente parecido. “Java sería para los profesionales. Y JavaScript sería para quienes ni siquiera sabían que eran programadores”, resume Eich, que se aseguró de cumplir con las exigencias de un lenguaje pensado para outsiders. “Me di cuenta de que si lograba crear un lenguaje que fuera fácil de escribir y que pudiera escribirse directamente en la web, mucha gente aprendería a hacerlo. Copiarían y pegarían, aprenderían por imitación y se extendería con éxito. Si no lo hacíamos nosotros, lo haría Microsoft”. Y llegó justo a tiempo.
La primera versión se llamó Moccha, que tenía poco o ningún parecido con su presunto medio hermano. Aun así, en el segundo bautizo se optó por estrechar aún más el forzado parentesco con el nombre JavaScript. “Esto siempre ha sido confuso, pero Java y JavaScript son lenguajes distintos. Ambos están en la familia sintáctica de C++ -clásico lenguaje de programación multiplataforma-, pero no son padre e hijo ni nada parecido. Se trataba de un truco de marketing para robar un poco de la tracción de Sun en aquel momento”. El resultado fue un lío de nombres que ha llegado hasta nuestros días tan sanote como el propio JavaScript, que sobrevivió incluso a la desintegración de Netscape. Este último, por cierto, pereció arrollado por el nacimiento de Windows 95 con Internet Explorer debajo del brazo. Y este, a su vez, perecerá en agosto de 2021, según anunció Microsoft hace algunas semanas. Las vueltas que da Internet.
Uno para todos
“En 1997, durante un viaje de carretera de París a Niza, Jeff Weinstein me preguntó si iba a seguir trabajando en esto. Le dije: ’O JavaScript muere rápido o va a estar ahí fuera otros 20 años”, recuerda Eich, que ahora celebra haberse quedado corto. El Santo Grial que otorgó a este lenguaje su aparente inmortalidad llegó en 1997, cuando se le integró entre los estándares de ECMA. Este trámite marcó el nacimiento de ECMAScript, una especificación universal para el uso de este idioma y el primer ladrillo del Internet abierto que tenemos hoy, donde el consumo de contenidos no está, en líneas generales, limitado a un navegador u otro. No en vano, ECMAScript bebía de JavaScript y del sucedáneo de este creado por Microsoft, JScript.
Este punto de encuentro es también la razón de que se pueda utilizar este lenguaje de programación en lugares tan ajenos a la web como un foco. Esta especificación, explica Simpson, podría compararse con una guía que explica la idea general de lo que debe ser un vehículo. “Dónde van las ruedas, dónde va el motor…”. A partir de esas instrucciones se pueden construir coches, camiones, tractores… pero todos son implementaciones del concepto estándar.
El ascenso de JavaScript al Olimpo de ECMA no acabó con aquella primera versión. Desde entonces hasta hoy, se han lanzado once ediciones de ECMAScript -la última el pasado mes de junio-, y Eich las ha seguido de cerca. “Creo que hay una historia oculta aquí que va más allá de JavaScript. Tiene que ver con el modo en que la web es inmortal en el sentido de que no puedes reemplazarla. Las páginas antiguas tienen que seguir funcionando”, explica. Este compromiso contrasta con las prácticas habituales de los distribuidores de software, cuyos programas antiguos acaban por dejar de funcionar en nuevos dispositivos. “La gente se queja por todos los errores que cometí al principio de JavaScript o los que se han cometido en los estándares. Dicen que es feo, que no se puede arreglar. Pero el lado bueno es que es inmortal”, razona.
El ADN de la web
Las prisas de aquellos diez días, el trato con Sun, la rivalidad con Microsot, la estandarización, la necesidad de estabilidad de la web… y en definitiva, las cosas de la vida forzaron la evolución de este lenguaje e introdujeron rarezas y complicaciones que han sido despreciadas por desarrolladores del mundo entero, Eich incluido. “Hay un proverbio que dice que lo perfecto es enemigo de lo bueno. Cuando te centras en hacer algo perfecto antes de abrirlo al mundo, muchas veces nunca llegas a conseguirlo. Algo interesante de JavaScript fue que decidieron lanzarlo y evolucionar”, comparte Simpson.
El actual líder de Brave compara el devenir de su criatura con las particularidades del ADN. “En el genoma humano hay secuencias que son antiquísimos retrovirus endógenos, que pueden incluso expresarse y salir a la superficie. Pero o bien se muestran de algún modo parasitario o simbiótico o bien añaden algún valor. Además, no los entendemos del todo. Esto también es verdad en el caso de la web”, asegura. Así, las azarosas marcas de la edad de JavaScript lo mismo dan alas al malware que a una nueva y creativa aplicación web. El nacimiento de Google Maps es una de las segundas. El propio Eich jamás imaginó que algo así fuera posible: “Fue sorprendente. No sabía cómo habían hecho todos los trucos gráficos como el zoom. Y resulta que estaban usando JavaScript muy inteligentemente para manipular sus imágenes”.
¿Seguirá sorprendiéndonos 25 años más? Joubran, Simpson y Eich no lo descartan. Este último, de hecho, se anima a repetir su predicción de 1997: o desaparece en 20 años o se vuelve incluso más fuerte. Por un lado, está tan enraizado en la web que no es fácil imaginar cómo podría acabar siendo completamente abandonado o reemplazado por otro lenguaje. “Tendría que aparecer un caso de uso que ahora no podemos ni imaginar y para el que JavaScript no fuera la herramienta correcta. Haría falta un cambio de paradigma en el modo en que interactuamos con la web“, razona Simpson. Por otro lado, los lenguajes de programación, como los idiomas puramente humanos, se mantienen vivos mientras haya alguien que los hable. Joubran asegura que está viendo aumentar el número de hablantes: “La gente está cada vez más interesada en aprender JavaScript. Creo que por varios motivos. Uno es que funciona en todas partes. Y otro es que agarre de paso. Pongamos que quiero aprender React Native. Para eso tengo que saber React, y para entender React, tengo que conocer Javascript”, explica el experto.
Eich reconoce que si pudiera viajar en el tiempo, cambiaría algunas cosas: haría menos caso a Java e ignoraría las sugerencias externas. “Esto es una lección importante: si te dan la oportunidad de inventar algo que va a ser grande, no te compliques. Aprende a decir que no”, subraya. ¿Y si pudiera crear el nuevo gran lenguaje de la web (o de lo que sea que está por inventar)? “Creo que es algo para una persona más joven. Hay mucha gente llegando al sector que debería tener esta oportunidad, así que dejaría que lo hiciera otro. Pero me encantaría ayudar”.