Vai al contenuto principale
BiografiaStoria dell’informaticaPrincipiante

James Gosling: l'ingegnere all'origine di Java

Come James Gosling e il team Green di Sun progettarono Java: da Oak alle macchine virtuali e alla promessa della portabilità.

Pubblicato 17 agosto 2026Lettura : 5 minDi Yann Bastien
Ritratto di James Gosling, principale progettista di Java
Mostra indice
  1. Programmare oltre la workstation
  2. Dal progetto Green a Oak
  3. Il Web cambia la traiettoria
  4. Un linguaggio definito dai compromessi
  5. Dalla macchina virtuale a una piattaforma duratura
  6. Il ruolo di Gosling in un’opera collettiva
  7. Perché James Gosling conta ancora
  8. Cronologia
  9. Domande frequenti
  10. James Gosling ha creato Java da solo?
  11. Perché Oak fu rinominato Java?
  12. Java e JavaScript sono collegati?
  13. Cosa significa «Write once, run anywhere»?
  14. Java è ancora usato senza le applet?
  15. Qual è il contributo più duraturo di Gosling?

James Gosling è spesso presentato come il «padre di Java». La formula nasconde però la domanda che rende interessante il suo lavoro: come far funzionare lo stesso software su macchine molto diverse senza rinunciare alla robustezza necessaria ai dispositivi connessi?

All’inizio degli anni Novanta Gosling cercò una risposta con un piccolo team di Sun Microsystems. Oak, futuro Java, nacque nel progetto Green per l’informatica embedded, non come linguaggio per il Web. Il Web gli avrebbe poi dato visibilità mondiale.

Programmare oltre la workstation

James Arthur Gosling nacque nel 1955 vicino a Calgary, in Canada. Dopo gli studi all’Università di Calgary conseguì nel 1983 un dottorato a Carnegie Mellon. Entrò in Sun Microsystems nel 1984.

Sun prevedeva l’arrivo dell’informatica in dispositivi di consumo con processori differenti. Un programma compilato direttamente per un processore richiedeva adattamenti per un altro, mentre i linguaggi più vicini all’hardware esponevano errori di memoria difficili da controllare.

Dal progetto Green a Oak

Nel 1991 Patrick Naughton, Mike Sheridan e Gosling avviarono Green. Gosling considerò C++, ma giudicò difficile garantire semplicità, portabilità e robustezza. Progettò quindi Oak.

Oak mantenne una sintassi familiare a C e C++, eliminando diverse fonti di complessità: gestione automatica della memoria, niente aritmetica generale dei puntatori e programmi organizzati attorno a classi. Il compilatore produceva bytecode, non codice per uno specifico processore.

Una macchina virtuale eseguiva quel bytecode su ciascun sistema. Il compilatore generava così un programma comune e la VM gestiva le particolarità della piattaforma. Verifica del bytecode e ambiente controllato miravano inoltre a limitare ciò che un programma scaricato poteva fare.

Il Web cambia la traiettoria

Tra 1993 e 1994 il Web si diffuse su computer molto diversi: proprio l’ambiente eterogeneo per cui Oak era stato pensato. Il nome Oak era già protetto e fu sostituito da Java, annunciato nel 1995 con HotJava.

Le applet dimostrarono che lo stesso bytecode poteva essere scaricato ed eseguito su più sistemi. «Write once, run anywhere» riassumeva l’ambizione, senza promettere identità assoluta di librerie, interfacce, versioni della VM o prestazioni.

Le applet sono scomparse per problemi di sicurezza, prestazioni e interoperabilità, ma Java ha trovato un ruolo duraturo nelle applicazioni aziendali, nei server, negli strumenti e indirettamente nell’ecosistema Android.

Un linguaggio definito dai compromessi

Java non inventò singolarmente programmazione a oggetti, garbage collection o macchine virtuali. Il successo derivò dalla loro combinazione coerente. Il typing statico rileva alcuni errori prima dell’esecuzione; la memoria automatica evita la liberazione manuale; le eccezioni strutturano gli errori; la libreria standard offre astrazioni comuni.

Queste scelte hanno costi: una VM aggiunge uno strato, il garbage collector può introdurre pause e la compatibilità limita le semplificazioni radicali. Compilatori JIT, nuovi collector e nuove versioni hanno progressivamente ridotto tali vincoli.

Dalla macchina virtuale a una piattaforma duratura

L’interpretazione del bytecode poteva essere lenta. Le VM adottarono quindi la compilazione just-in-time, osservando il programma in esecuzione e traducendo le parti più usate in codice macchina ottimizzato.

Una VM può conoscere percorsi realmente eseguiti, tipi effettivamente incontrati e carico della macchina. Può ottimizzare e revocare alcune decisioni se le ipotesi cambiano.

Anche la sicurezza evolse. Le applet usavano una sandbox, ma le vulnerabilità mostrarono che una frontiera software complessa non è una garanzia assoluta. Il browser cessò gradualmente di essere l’ambiente principale di Java.

Dal 2006 Sun pubblicò gran parte di Java come software libero attorno a OpenJDK, trasformandolo progressivamente in una piattaforma sostenuta da più aziende e comunità.

Il ruolo di Gosling in un’opera collettiva

Gosling è il principale progettista del linguaggio e uno dei suoi portavoce più visibili. Specifica, librerie, VM ed ecosistema sono però il prodotto di molti ingegneri. Patrick Naughton, Mike Sheridan, Bill Joy, Guy Steele e successive squadre Sun ebbero ruoli distinti.

Dopo l’acquisizione di Sun da parte di Oracle, Gosling lasciò l’azienda nel 2010. Lavorò poi, tra gli altri, per Google, Liquid Robotics e Amazon Web Services. Java continuò a evolvere indipendentemente da una sola persona.

Perché James Gosling conta ancora

La sua eredità appare in un’idea oggi comune: distribuire software in una forma intermedia e affidare a un runtime comune portabilità, ottimizzazione e parte della sicurezza.

La JVM ospita oggi anche Kotlin, Scala e Clojure. La sua longevità mostra che l’infrastruttura costruita attorno a Java ha superato il linguaggio iniziale e che strumenti, specifiche, librerie, compatibilità e comunità contano quanto la sintassi.

Cronologia

  • 1955: nascita vicino a Calgary.
  • 1983: dottorato a Carnegie Mellon.
  • 1984: ingresso in Sun Microsystems.
  • 1991: progetto Green e progettazione di Oak.
  • 1992: dimostrazione del prototipo Star7.
  • 1994: riorientamento verso il Web.
  • 1995: annuncio pubblico di Java e HotJava.
  • 1996: JDK 1.0.
  • 2002: ACM Software System Award a Gosling e al team Java.
  • 2006: Sun annuncia l’apertura di Java; nasce OpenJDK.
  • 2010: Gosling lascia Oracle.
  • Oggi: Java e JVM restano piattaforme importanti per software di lunga durata.

Domande frequenti

James Gosling ha creato Java da solo?

No. È il principale progettista, ma Java nasce dal team Green e dal lavoro di molte squadre Sun e contributori esterni.

Perché Oak fu rinominato Java?

Oak era già un marchio utilizzato. Il team scelse quindi un nuovo nome prima dell’annuncio pubblico del 1995.

Java e JavaScript sono collegati?

No. Java viene compilato in bytecode per una VM; JavaScript nacque in Netscape come linguaggio di scripting per il browser. Il nome sfruttò la visibilità di Java.

Cosa significa «Write once, run anywhere»?

Che lo stesso programma compilato dovrebbe funzionare su ogni piattaforma dotata di una VM compatibile. È un obiettivo di portabilità, non la garanzia di dettagli e prestazioni identici.

Java è ancora usato senza le applet?

Sì. Rimane diffuso nei servizi server, nei sistemi aziendali, negli strumenti e nelle infrastrutture. La JVM esegue inoltre altri linguaggi.

Qual è il contributo più duraturo di Gosling?

Aver combinato scelte di linguaggio e runtime attorno a un contratto credibile di portabilità. La longevità della JVM mostra che questa architettura conta almeno quanto la sintassi di Java.

Questo articolo ti è stato utile?

Fonti e riferimenti

  1. 1.James Gosling, Bill Joy e Guy Steele - The Java Language Specification
  2. 2.Oracle - A Brief History of Java
  3. 3.Computer History Museum - Java: The Inside Story
  4. 4.ACM - James Gosling, 2002 Software System Award

Raccolta

Linguaggi di programmazione

13 / 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
StoriaStoria dell’informaticaPrincipiante

Java: scrivere una volta, eseguire ovunque

Dal progetto Green a OpenJDK: come Java ha costruito la portabilità attorno a bytecode, JVM e un ecosistema duraturo.

17 agosto 202610 min
BiografiaStoria dell’informaticaPrincipiante

Dennis Ritchie: il linguaggio C al cuore di Unix

Come Dennis Ritchie progettò il linguaggio C e contribuì a Unix, due fondamenta che resero il software di sistema più portabile.

3 agosto 20267 min