Vai al contenuto principale
StoriaStoria dell’informaticaPrincipiante

JavaScript: il linguaggio che ha reso interattivo il Web

Dal prototipo di Netscape a ECMAScript, Ajax, Node.js e TypeScript: come JavaScript è diventato la piattaforma di programmazione universale del Web.

Pubblicato 17 agosto 2026Aggiornato 15 settembre 2026Lettura : 7 minDi Yann Bastien
JavaScript: il linguaggio che ha reso interattivo il Web
Mostra indice
  1. 1995: rendere programmabile il browser
  2. Un modello insolito sotto una sintassi familiare
  3. JavaScript non è il browser
  4. La guerra dei browser e la necessità di uno standard
  5. La retrocompatibilità diventa una regola del Web
  6. ECMAScript 4: imparare a evolvere senza rotture
  7. Ajax e jQuery: JavaScript alimenta le applicazioni Web
  8. La corsa dei motori JavaScript
  9. Node.js: uscire dal browser
  10. ECMAScript 2015: modernizzare senza ricominciare
  11. Framework e TypeScript
  12. Perché JavaScript ha vinto
  13. Cronologia
  14. Domande frequenti
  15. JavaScript è stato davvero creato in dieci giorni?
  16. JavaScript e Java sono collegati?
  17. Qual è la differenza tra JavaScript ed ECMAScript?
  18. Il DOM fa parte di JavaScript?
  19. Perché JavaScript conserva vecchi comportamenti?

JavaScript è diventato il linguaggio nativo del Web. Anima le interfacce, reagisce alle azioni degli utenti, comunica con i server ed esegue applicazioni complete nel browser. Con Node.js è arrivato anche sui server e negli strumenti di sviluppo. Nel 1995 nulla di tutto questo era previsto su una scala simile.

La sua storia non è quindi quella di un progetto perfetto eseguito dall’inizio alla fine. È la storia di un linguaggio nato sotto pressione, diventato inevitabile grazie alla distribuzione universale e migliorato continuamente senza poter cancellare il proprio passato.

1995: rendere programmabile il browser

All’inizio degli anni Novanta il Web è soprattutto documentale. HTML descrive il contenuto, HTTP trasporta le risorse e il browser mostra la pagina. Per ottenere un nuovo risultato è generalmente necessario contattare di nuovo il server.

Netscape capisce che il browser può diventare una piattaforma applicativa. Vuole un linguaggio leggero che gli autori possano inserire direttamente nelle pagine, accanto a Java, allora fortemente promosso da Sun.

Brendan Eich entra in Netscape nell’aprile 1995 e a maggio realizza in circa dieci giorni il primo prototipo, Mocha. I celebri «dieci giorni» riguardano questo prototipo, non il JavaScript moderno. Mocha diventa LiveScript e poi JavaScript alla fine del 1995.

Il nome sfrutta la popolarità di Java ma crea una confusione duratura. JavaScript non è un Java ridotto. La superficie ricorda la famiglia C, mentre tra le influenze profonde ci sono Scheme, per le funzioni di prima classe, e Self, per gli oggetti basati su prototipi.

Un modello insolito sotto una sintassi familiare

In JavaScript le funzioni sono valori: possono essere memorizzate, passate e restituite. È un modello particolarmente adatto alle interfacce guidate dagli eventi.

Il modello storico degli oggetti si basa sui prototipi. Gli oggetti possono delegare la ricerca delle proprietà ad altri oggetti. La moderna sintassi class offre un’astrazione familiare, ma continua a poggiare su questo meccanismo.

Tipizzazione dinamica e conversioni implicite facilitarono la scrittura di piccoli script, producendo però anche note peculiarità. Molta dell’evoluzione successiva consiste nel migliorare il linguaggio senza rompere le pagine che dipendono da comportamenti precedenti.

JavaScript non è il browser

Linguaggio e ambiente Web vengono facilmente confusi. DOM, eventi, rete e archiviazione Web sono però API del browser, non parti del nucleo ECMAScript.

La distinzione diventa fondamentale quando JavaScript esce dal browser: lo stesso linguaggio può funzionare in ambienti differenti con API differenti.

Storicamente il DOM è comunque decisivo. Espone la pagina come struttura programmabile e consente di modificare testo, attributi, stili ed elementi dopo il caricamento. Il documento Web diventa un’interfaccia dinamica.

La guerra dei browser e la necessità di uno standard

Microsoft introduce JScript in Internet Explorer nel 1996. Netscape e Microsoft distribuiscono anche API incompatibili, costringendo gli sviluppatori a gestire le differenze tra browser.

Netscape sottopone quindi il linguaggio a Ecma International. Nel 1997 viene pubblicata la prima edizione di ECMA-262, che definisce ECMAScript.

JavaScript rimane il nome comune; ECMAScript diventa la specifica standardizzata. La normalizzazione non elimina subito le differenze tra browser, ma fornisce al nucleo del linguaggio un riferimento indipendente da un singolo produttore. ECMAScript 3, pubblicato nel 1999, resta per anni la base del JavaScript ampiamente diffuso.

La retrocompatibilità diventa una regola del Web

La prima guerra dei browser lascia API proprietarie, motori incoerenti e molto codice di adattamento. Stabilisce però anche un vincolo permanente: il Web cerca di non rompere i contenuti esistenti.

typeof null, uguaglianza debole, conversioni implicite e vecchie regole di scope hanno origini diverse, ma una volta che un comportamento viene utilizzato su vasta scala diventa difficile modificarlo in modo incompatibile. JavaScript moderno tende quindi ad aggiungere meccanismi migliori invece di riscrivere il passato.

ECMAScript 4: imparare a evolvere senza rotture

Negli anni Duemila ECMAScript 4 propone una trasformazione molto ambiziosa, con classi più formali, tipi opzionali e numerose nuove funzionalità. I partecipanti non trovano un accordo su complessità, compatibilità e direzione, e il progetto viene abbandonato.

L’esperienza influenza il futuro: JavaScript evolve sempre più attraverso cambiamenti graduali e compatibili. ECMAScript 5 arriva nel 2009 con strict mode e importanti miglioramenti per oggetti e array.

Ajax e jQuery: JavaScript alimenta le applicazioni Web

A metà degli anni Duemila, applicazioni come Gmail e Google Maps dimostrano che una pagina può comunicare con i server in background e aggiornare solo una parte dell’interfaccia. Nel 2005 il termine Ajax rende popolare questo modello.

I siti iniziano a comportarsi come applicazioni. JavaScript passa da validazioni ed effetti alla gestione dello stato e dell’interazione.

Le differenze tra browser restano problematiche. Dal 2006 jQuery offre un’API più uniforme per DOM, eventi e richieste. Il suo enorme successo riflette la frammentazione della piattaforma dell’epoca. Con la successiva convergenza dei browser sugli standard, parte di questo livello di compatibilità diventa meno necessario.

La corsa dei motori JavaScript

Applicazioni più complesse spingono i produttori a investire nelle prestazioni. Nel 2008 Google introduce V8 con Chrome. La competizione con SpiderMonkey, JavaScriptCore e altri motori accelera enormemente JavaScript. La compilazione just-in-time rende praticabili applicazioni browser molto più grandi.

Node.js: uscire dal browser

Nel 2009 Ryan Dahl crea Node.js intorno a V8. JavaScript può ora essere utilizzato comodamente per server e strumenti da riga di comando, con un modello di I/O asincrono adatto al software di rete.

Node.js trasforma l’ecosistema. JavaScript può essere usato su client e server, npm cresce fino a diventare un enorme registro di pacchetti e il linguaggio entra nei sistemi di build, nei test e nell’automazione.

ECMAScript 2015: modernizzare senza ricominciare

ECMAScript 2015 (ES6) introduce let, const, arrow function, moduli, promise, generatori, sintassi delle classi e molte altre funzionalità.

Le novità non sostituiscono il vecchio JavaScript: costruiscono uno strato moderno compatibile con il codice esistente. In seguito ECMAScript adotta un ciclo annuale, con proposte che maturano progressivamente nel processo TC39.

Framework e TypeScript

Con la crescita delle applicazioni, il problema si sposta verso l’organizzazione di grandi interfacce. Backbone, Angular, React, Vue, Svelte e altri strumenti propongono modelli diversi per componenti, stato e rendering. Appartengono all’ecosistema costruito sopra JavaScript, non al nucleo del linguaggio.

Nel 2012 Microsoft presenta TypeScript, che aggiunge soprattutto un sistema di tipi statici e viene trasformato in JavaScript per gli ambienti esistenti. TypeScript non sostituisce quindi JavaScript: dipende da esso.

Perché JavaScript ha vinto

Il vantaggio decisivo di JavaScript non è stato la perfezione, ma la distribuzione. Ogni browser importante includeva un motore JavaScript senza richiedere installazioni aggiuntive.

La disponibilità universale ha creato un circolo virtuoso: più utenti hanno attirato maggiori investimenti in motori, standard, strumenti e librerie. La capacità di evolvere senza abbandonare il vecchio Web ha protetto questo vantaggio.

Il JavaScript del 2026 è quindi una piattaforma collettiva. Brendan Eich ne ha creato il nucleo iniziale, ma il linguaggio moderno è il risultato del lavoro di TC39, team dei motori, produttori di browser, creatori di strumenti e milioni di sviluppatori.

Cronologia

  • 1995: Mocha, LiveScript e JavaScript in Netscape.
  • 1996: JScript in Internet Explorer; inizia la standardizzazione Ecma.
  • 1997: prima edizione di ECMA-262.
  • 1999: ECMAScript 3.
  • 2005: Ajax rende popolari le applicazioni Web asincrone.
  • 2006: appare jQuery.
  • 2008: Chrome e V8 intensificano la competizione sulle prestazioni.
  • 2009: ECMAScript 5 e Node.js.
  • 2012: viene presentato TypeScript.
  • 2015: ECMAScript 2015 modernizza profondamente il linguaggio.
  • Dal 2016: ECMAScript evolve con cadenza annuale.

Domande frequenti

JavaScript è stato davvero creato in dieci giorni?

Brendan Eich realizzò il primo prototipo in circa dieci giorni nel maggio 1995. Il linguaggio pubblicato e standardizzato continuò poi a evolversi per tre decenni.

JavaScript e Java sono collegati?

Hanno nomi simili e alcuni elementi sintattici comuni, ma sono linguaggi distinti. L’associazione del nome JavaScript con Java fu soprattutto commerciale.

Qual è la differenza tra JavaScript ed ECMAScript?

ECMAScript è la specifica standard del nucleo del linguaggio. JavaScript è il nome storico e comune delle sue implementazioni.

Il DOM fa parte di JavaScript?

No. Il DOM è un’API fornita dall’ambiente Web. Altri ambienti JavaScript, come Node.js, forniscono API differenti.

Perché JavaScript conserva vecchi comportamenti?

Perché modificarli in modo incompatibile potrebbe rompere enormi quantità di pagine esistenti. La retrocompatibilità è un vincolo centrale della sua evoluzione.

Questo articolo ti è stato utile?

Fonti e riferimenti

  1. 1.ACM - JavaScript: The First 20 Years
  2. 2.Ecma International - ECMA-262
  3. 3.MDN - JavaScript language overview

Raccolta

Linguaggi di programmazione

16 / 26

  1. 01Grace Hopper: dai primi compilatori a COBOL
  2. 02John Backus: FORTRAN, la notazione BNF e il rifiuto del codice macchina
  3. 03Dennis Ritchie: il linguaggio C al cuore di Unix
  4. 04FORTRAN: dimostrare che un compilatore può competere con l'assembly
  5. 05Il linguaggio C: rendere portabili i sistemi senza nascondere la macchina
  6. 06Niklaus Wirth: da Pascal a Oberon, progettare con la semplicità
  7. 07Bjarne Stroustrup: progettare C++ senza rinunciare alle prestazioni
  8. 08Pascal: imparare a programmare rendendo visibile la struttura
  9. 09C++: da C with Classes al C++ moderno
  10. 10Programmazione orientata agli oggetti: oggetti, messaggi e astrazioni riutilizzabili
  11. 11Guido van Rossum: creare Python per rendere il codice leggibile
  12. 12Brendan Eich: JavaScript, dal prototipo Netscape allo standard del Web
  13. 13James Gosling: l'ingegnere all'origine di Java
  14. 14Python: leggibilità, batterie incluse e un ecosistema globale
  15. 15Java: scrivere una volta, eseguire ovunque
  16. 16JavaScript: il linguaggio che ha reso interattivo il Web
  17. 17Ken Thompson: da Unix a Go, la semplicità come metodo
  18. 18John McCarthy: Lisp e l'idea di programmare con i simboli
  19. 19Alan Kay: Smalltalk e il computer come medium personale
  20. 20Barbara Liskov: l'astrazione che ha reso modulare il software
  21. 21Robin Milner: ML, dimostrazione assistita e linguaggi dell'interazione
  22. 22Brian Kernighan: AWK, Unix e l'arte di spiegare il codice
  23. 23Anders Hejlsberg: da Turbo Pascal a C# e TypeScript
  24. 24Larry Wall: Perl, il linguaggio che ha collegato gli strumenti di Internet
  25. 25Yukihiro Matsumoto: Ruby e la felicità del programmatore
  26. 26Rasmus Lerdorf: PHP e la democratizzazione del Web dinamico