El lenguaje de programaci¨®n que cambi¨® la web (y tu vida) cumple 25 a?os
Brendan Eich escribi¨® la primera versi¨®n de JavaScript en tan solo diez d¨ªas de mayo de 1995. Un cuarto de siglo m¨¢s tarde, sigue siendo una parte clave de Internet
Un mes de mayo de hace 25 a?os, Brendan Eich se invent¨® un idioma. Lo hizo a contrarreloj. Y despu¨¦s de 10 d¨ªas sin muchas horas de sue?o, present¨® su encargo ante Netscape. 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 ahora es director ejecutivo del navegador Brave, empez¨® 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 los ordenadores¡±, recuerda. Adem¨¢s, la F¨ªsica parec¨ªa haberse quedado estancada tras el programa espacial, as¨ª que acab¨® seducido por la computaci¨®n. ¡°Hab¨ªa estudiado espa?ol en el instituto y alem¨¢n en la universidad; me interesaban los idiomas¡±.
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 siete 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 acaban en la ventana del navegador: JavaScript se ha derramado por nuestras vidas, integr¨¢ndose 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 urgencia con que trabaj¨® Eich durante la primavera de 1995 no era casual: Netscape sosten¨ªa en aquel entonces 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 el patio en el que 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 idioma 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, en un cafetero gui?o a Java, pero 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¨¢ a 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 una bombilla. 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, correpasillos¡ 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 vilipendiadas 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 pilla 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¡±.
Puedes seguir a EL PA?S TECNOLOG?A RETINA en Facebook, Twitter, Instagram o suscribirte aqu¨ª a nuestra Newsletter.
Tu suscripci¨®n se est¨¢ usando en otro dispositivo
?Quieres a?adir otro usuario a tu suscripci¨®n?
Si contin¨²as leyendo en este dispositivo, no se podr¨¢ leer en el otro.
FlechaTu suscripci¨®n se est¨¢ usando en otro dispositivo y solo puedes acceder a EL PA?S desde un dispositivo a la vez.
Si quieres compartir tu cuenta, cambia tu suscripci¨®n a la modalidad Premium, as¨ª podr¨¢s a?adir otro usuario. Cada uno acceder¨¢ con su propia cuenta de email, lo que os permitir¨¢ personalizar vuestra experiencia en EL PA?S.
En el caso de no saber qui¨¦n est¨¢ usando tu cuenta, te recomendamos cambiar tu contrase?a aqu¨ª.
Si decides continuar compartiendo tu cuenta, este mensaje se mostrar¨¢ en tu dispositivo y en el de la otra persona que est¨¢ usando tu cuenta de forma indefinida, afectando a tu experiencia de lectura. Puedes consultar aqu¨ª los t¨¦rminos y condiciones de la suscripci¨®n digital.