SincroDev Logo SincroDev

Historia de JavaScript: 10 días que cambiaron la web


Pocos lenguajes de programación tienen una historia tan caótica, improbable y exitosa como JavaScript. Nació en 10 días, recibió un nombre engañoso por marketing, sobrevivió a guerras de navegadores, fue odiado durante una década y luego conquistó no solo el navegador sino también el servidor, el móvil y hasta el escritorio. Es, sin exagerar, el lenguaje más ubicuo de la historia.

El nacimiento: 10 días de mayo de 1995

Brendan Eich trabajaba en Netscape, la empresa que dominaba el mercado de navegadores a mediados de los 90. La idea era simple: la web necesitaba un lenguaje de scripting ligero que los diseñadores web (no solo los programadores) pudieran usar para añadir interactividad a las páginas. Java existía, pero era demasiado complejo para ese propósito.

Eich recibió el encargo y, bajo una presión brutal, creó el prototipo del lenguaje en solo 10 días en mayo de 1995. Se llamó primero Mocha, luego LiveScript, y finalmente JavaScript, un nombre elegido por puro oportunismo comercial: Java era la palabra de moda y Netscape tenía un acuerdo con Sun Microsystems.

El resultado fue un lenguaje con ideas brillantes (funciones como ciudadanos de primera clase, closures, prototipos) mezcladas con decisiones cuestionables que perseguirían a los desarrolladores durante décadas:

// Las "partes raras" que todos conocemos
0.1 + 0.2          // 0.30000000000000004
typeof null         // "object" (un bug histórico)
[] + []             // "" (cadena vacía)
[] + {}             // "[object Object]"
{} + []             // 0 (dependiendo del contexto)

Las guerras de navegadores (1995-2001)

Netscape tenía JavaScript. Microsoft respondió con JScript en Internet Explorer. Ambos eran “parecidos” pero incompatibles en los detalles. Escribir código que funcionara en ambos navegadores era una pesadilla.

Para poner orden, se creó el estándar ECMAScript (1997) a través de ECMA International. Pero la estandarización fue lenta y las diferencias entre navegadores persistieron. Esta época generó una de las peores experiencias del desarrollo web temprano: el infame document.all y los hacks con <!-- en etiquetas <script>.

La era oscura y jQuery (2001-2009)

Tras el estallido de la burbuja .com, JavaScript languideció. Los desarrolladores “serios” lo despreciaban: era lento, inconsistente entre navegadores y tenía un sistema de tipos caótico. El lenguaje se usaba apenas para validar formularios y crear menús desplegables.

Pero en 2005, dos cosas cambiaron el panorama:

  • AJAX (popularizado por Gmail y Google Maps) demostró que JavaScript podía crear aplicaciones web ricas sin recargar la página.
  • jQuery (2006) resolvió el problema de compatibilidad entre navegadores con una API elegante. De repente, JavaScript era productivo.
// jQuery simplificó el caos cross-browser
// Antes: comprobar IE, Firefox, Opera...
// Con jQuery:
$('#boton').click(function() {
    $('.contenido').fadeIn();
});

La revolución de Node.js (2009)

En 2009, Ryan Dahl tomó el motor V8 de Chrome (increíblemente rápido) y lo sacó del navegador para crear Node.js. Por primera vez, JavaScript podía ejecutarse en el servidor.

Esto cambió todo. JavaScript pasó de ser “el lenguaje del navegador” a ser un lenguaje full-stack. Un desarrollador podía usar el mismo lenguaje en frontend y backend. npm se convirtió en el gestor de paquetes más grande del mundo, y el ecosistema explotó.

El renacimiento moderno: ES6 y TypeScript (2015-presente)

ES6 (ECMAScript 2015) fue el punto de inflexión. Tras años de estancamiento, el lenguaje recibió una actualización masiva que lo modernizó de golpe:

  • let y const (adiós al caótico var)
  • Arrow functions (=>)
  • Clases, destructuring, template literals
  • Promises y luego async/await
  • Módulos nativos (import/export)

A partir de ES6, el estándar empezó a actualizarse anualmente, añadiendo mejoras incrementales.

En paralelo, TypeScript (Microsoft, 2012) añadió tipado estático opcional sobre JavaScript. Lo que empezó como una curiosidad se convirtió en el estándar de facto para proyectos grandes: Angular lo adoptó como lenguaje principal, y hoy la mayoría de frameworks y librerías ofrecen soporte nativo.

JavaScript hoy: está en todas partes

ÁmbitoTecnologías
Frontend webReact, Vue, Svelte, Astro, Angular
BackendNode.js, Deno, Bun
MóvilReact Native, Ionic, Capacitor
EscritorioElectron (VS Code, Discord, Slack)
Edge / ServerlessCloudflare Workers, Vercel Edge Functions
IA / MLTensorFlow.js, Transformers.js

Conclusión

JavaScript es probablemente el lenguaje con la historia más improbable de la informática. Creado a toda prisa, nombrado por marketing, despreciado durante años y hoy absolutamente omnipresente. Su capacidad de reinventarse (de scripts en el navegador a aplicaciones full-stack de escala mundial) es lo que lo ha mantenido relevante durante tres décadas.

Brendan Eich tardó 10 días en escribir el prototipo. La web lleva 30 años construyendo sobre esas decisiones.