James Gosling

James Gosling: Costruire per i tostapane, finire ovunque

James Gosling si propose di costruire un linguaggio di programmazione per decoder televisivi interattivi ed elettrodomestici. Java finì per far girare i server dietro la maggior parte delle banche del mondo, i telefoni Android in miliardi di tasche e innumerevoli sistemi aziendali per i quali non era mai stato progettato: un caso di un ingegnere che ha risolto il problema sbagliato così bene che la soluzione lo ha superato completamente.

Da Calgary alla Carnegie Mellon

Gosling è nato il 19 maggio 1955 vicino a Calgary, in Alberta, Canada, e ha conseguito una laurea in informatica presso l'Università di Calgary prima di trasferirsi alla Carnegie Mellon University per il suo master e dottorato in informatica, completati nel 1983. Anche come studente di dottorato stava già costruendo infrastrutture che altri avrebbero usato: ha scritto Gosling Emacs, una variante precoce e influente dell'editor di testo Emacs, e ha costruito una versione di Unix per un computer multiprocessore a sedici vie, affrontando sistemi paralleli anni prima che l'hardware multicore diventasse una preoccupazione comune.

NeWS e la strada non presa

Il co-fondatore di Sun Microsystems, Andy Bechtolsheim, reclutò Gosling nel 1984, e vi trascorse i successivi ventisei anni. Uno dei suoi primi grandi progetti, sviluppato con David Rosenthal, fu NeWS (Network/Extensible Window System), un ambizioso sistema di finestre per display di workstation bitmap. NeWS era tecnicamente sofisticato, ma la decisione di Sun di non renderlo liberamente disponibile aiutò il sistema rivale X Window System a prevalere, una lezione formativa su come la licenza e l'apertura, non solo il merito tecnico, determinano quali sistemi sopravvivono. È stato un primo esempio di un modello che si sarebbe ripetuto, al contrario, con Java un decennio dopo.

Il progetto Green e la nascita di Java

Nel giugno 1991, Gosling si unì ai colleghi Mike Sheridan e Patrick Naughton in quello che Sun chiamava internamente "The Green Project", uno sforzo per progettare software per l'imminente ondata di elettronica di consumo: decoder, televisori e altri dispositivi che i dirigenti di Sun credevano avrebbero presto dovuto comunicare tra loro, una visione di "convergenza digitale" che era in anticipo sui tempi. Frustrato dai limiti del C++ per questo tipo di programmazione integrata e in rete, Gosling progettò un nuovo linguaggio, inizialmente chiamato "Oak" dal nome di un albero fuori dal suo ufficio, poi rinominato Java. Costruì il suo compilatore originale e la sua macchina virtuale, lo strato software che permetteva al bytecode Java compilato di girare in modo identico su hardware molto diversi: la base tecnica della promessa distintiva di Java, "scrivi una volta, esegui ovunque". La prima dimostrazione pubblica del team avvenne il 2 settembre 1992, mostrando lo Star-7, un controller multimediale portatile touchscreen caricato con un'interfaccia grafica basata su Java: un dispositivo che ha anticipato gli smartphone di oltre un decennio, anche se il mercato della televisione interattiva a cui si rivolgeva non si è mai pienamente materializzato. Java ha invece trovato il suo vero pubblico nell'esplosione del World Wide Web e nei server aziendali, diventando, secondo la maggior parte delle misure, il linguaggio di programmazione più utilizzato al mondo nel calcolo desktop, nella ricerca scientifica, nei sistemi aziendali e, infine, nell'ecosistema mobile di Android.

IL TEST GRATUITO
Quanto fa il tuo?

Venti domande, otto minuti di orologio e un percentile misurato su tutti quelli che l’hanno fatto. Senza registrazione.

Fai il test del QI →

La vita dopo Sun

Gosling è rimasto in Sun come sua figura tecnica più visibile, ricoprendo titoli tra cui vice presidente e chief technology officer del suo gruppo di prodotti per sviluppatori, fino alla chiusura dell'acquisizione di Sun da parte di Oracle nel 2010. Ha lasciato Oracle nell'aprile di quell'anno, citando "riduzioni di stipendio, status e capacità decisionale, insieme a un cambio di ruolo e sfide etiche": una partenza pubblica marcata dall'azienda che ora controllava il linguaggio che aveva creato. È entrato brevemente in Google nel 2011, poi è passato a Liquid Robotics, una startup che costruiva robot autonomi per il rilevamento oceanico, acquisita in seguito da Boeing. Nel 2017 è entrato in Amazon Web Services come Distinguished Engineer, ruolo che ha ricoperto fino al pensionamento nel 2024.

Oracle contro Google e una lealtà complicata

La dichiarazione più discussa pubblicamente di Gosling nella sua carriera successiva riguardava lo storico contenzioso Oracle contro Google sul fatto se l'uso da parte di Google delle strutture API Java in Android costituisse violazione del copyright. Nonostante la sua amara partenza da Oracle, Gosling ha scritto che "sebbene io abbia divergenze con Oracle, in questo caso hanno ragione. Google ha totalmente truffato Sun": una lealtà sorprendente verso il linguaggio e l'azienda che aveva costruito, anche dopo aver lasciato in termini ostili. Ha tuttavia dichiarato in seguito di approvare la decisione finale della Corte Suprema secondo cui le API non dovrebbero essere protette da copyright, una sfumatura che ha catturato il suo istinto di separare le rimostranze personali dai principi tecnici e legali.

Riconoscimenti

Gosling ha ricevuto l'Economist Innovation Award e lo USENIX Lifetime Achievement Award, noto come "The Flame Award", nel 2002. È stato eletto alla National Academy of Engineering nel 2004 per i suoi contributi all'architettura di Java e ai sistemi di finestre, e nel 2007 il Canada lo ha nominato Ufficiale dell'Ordine del Canada, la seconda più alta onorificenza civile del paese. È diventato ACM Fellow nel 2013, ha ricevuto la IEEE John von Neumann Medal nel 2015 ed è stato nominato Computer History Museum Fellow nel 2019.

Perché James è chiamato un genio

La versione più forte dell'argomento a favore del genio di Gosling è architettonica: progettare una macchina virtuale e un formato di bytecode abbastanza robusti da consentire a un linguaggio costruito per i decoder nel 1991 di diventare, con solo una modesta revisione, il substrato per sistemi bancari aziendali, telefoni Android e server web un decennio dopo, girando senza modifiche su architetture di processore che nessuno in Sun aveva previsto. Questa è una forma specifica e dimostrabile di lungimiranza: costruire un livello di astrazione abbastanza generale da sopravvivere al suo scopo originale. Il suo stesso resoconto sulla leadership mina però qualsiasi mito del genio solitario; ha detto che la vera ricompensa del buon lavoro ingegneristico "non si capisce mai", e che il lavoro consiste principalmente nel "dare soldi a brave persone e dire loro di fare buone cose", attribuendo il successo di Java al team che il Green Project ha riunito, non a una sua intuizione singolare. Il controargomento onesto è che la sintassi di Java ha preso molto in prestito da C e C++, la sua promessa "scrivi una volta, esegui ovunque" ha richiesto anni di doloroso perfezionamento prima di funzionare in modo affidabile, e Gosling è stato uno dei tanti architetti essenziali piuttosto che un autore unico. Il suo genio, se la parola è appropriata, risiedeva nella progettazione dei sistemi e nella durabilità piuttosto che in un singolo lampo di originalità.

Eredità

Java rimane, decenni dopo la chiusura del Green Project, uno dei pezzi di infrastruttura software più importanti mai costruiti, che continua a formare nuovi programmatori e a far girare sistemi che il team originale di Gosling non aveva mai immaginato di colpire. Pochi ingegneri hanno visto un progetto costruito per un mercato che non è mai arrivato diventare indispensabile per mercati che non avrebbe mai dovuto servire.

Confronta con i grandi

Erwin Schr Dinger vs Thomas AquinasLeo Tolstoy vs William James SidisRen Descartes vs Salvador DalAlbert Einstein vs James Clerk Maxwell
Vedi Classifica →Tutti i confronti →

Bambini prodigio

Shirley TempleShirley TempleHollywood's number-one box-office star as a child, later a U.S.…Kelvin DoeKelvin DoeSelf-taught engineer who built a radio station from scrap at…Alexandra DovganAlexandra DovganWon the Grand Prix at the international Grand Piano Competition…Michael KearneyMichael KearneyBachelor's at 10 Years, 4 Months — Youngest U.S. College…
Bambini prodigio →

Gioca e torna domani

Sfida del genio del giorno · Brain teaser
A clock takes 5 seconds to strike 6 o'clock. How long to strike 12 o'clock?
Tocca la tua risposta ↓
Quale genio sei? Test del QI gratuito