Scopri gli articoli di Geeks Academy su: Blockchain, Coding, Cybersecurity, Cloud, Big Data, Artificial Intelligence, Gaming, Digital Innovation
CHI È JAMES GOSLING
Nato il 19 maggio 1955 a Calgary (Alberta), in Canada, James Gosling si laurea presso l'Università di Calgary nel 1977 con un Bachelor of Science e nel 1983 consegue presso lo stesso istituto un PhD in Scienze Informatiche con una tesi intitolata "The Algebraic Manipulation of Constraints".
Dopo la laurea, Gosling lavora brevemente per IBM, e nel 1984 inizia a lavorare nella neonata Sun Microsystems, un'azienda della Silicon Valley produttrice di software e semiconduttori, dove inizialmente ricopre il ruolo di ingegnere capo del progetto NeWS window system, per diventare poi, nel corso degli anni, vice presidente e socio.
Gosling continua a lavorare allo sviluppo del “suo” linguaggio di programmazione Java, venuto alla luce nel 1995, per il resto dei suoi anni con la Sun Microsystem, dove rimarrà fino all'acquisizione di quest'ultima da parte di Oracle Corporation, avvenuta il 27 gennaio 2010. Già il 2 aprile dello stesso anno, Gosling rassegna le sue dimissioni alla Oracle, commentando il fatto sul suo blog con un criptico “As to why I left, it's difficult to answer: Just about anything I could say that would be accurate and honest would do more harm than good. ” - “per quanto riguarda il motivo per cui me ne sono andato è difficile da spiegare: diciamo che qualsiasi cosa possa dire a proposito farebbe più danno che bene”.
Nel marzo 2011 Gosling inizia a lavorare per Google, ma anche questa sarà un'esperienza molto breve: il 30 agosto 2011, Gosling annuncia di aver incontrato e deciso di iniziare a lavorare per della gente “che fa della roba incredibilmente pazzesca”: la Liquid Robotics.
La “roba incredibilmente pazzesca” prodotta dalla Liquid Robotics è questa: robottini chiamati Wave Glider che possono navigare gli oceani in autonomia (anche per mesi!) alimentati a pannelli solare e in grado di estrarre energia e propulsione dal moto ondoso, equipaggiati con un gran numero di sensori che consentono di raccogliere n tipi di dati sugli oceani, comunicarli ai satelliti a cui sono collegati e caricarli nel cloud… in effetti, pazzesco. Per la Liquid Robotics, Gosling lavora come Chief Software Architect fino al 2017, data in cui inizia a lavorare per Amazon Web Service in qualità di Distinguished Engineer.
JAVA
Negli anni in cui lavora presso la Sun Microsystem inizia a lavorare, nel giugno 1991, al progetto “Oak”, insieme ai colleghi Mike Sheridan e Patrick Naughton. Inizialmente chiamato Oak in onore dell'albero di quercia che si stagliava al di fuori dell'ufficio di Gosling, il nome del progetto venne poi mutato in Green (verde in inglese) e successivamente in Java per problemi di copyright: il linguaggio di programmazione Oak esisteva già. La scelta di questo specifico nome è dovuto alla grande quantità di caffè Java (che per davvero proviene dall'Indonesia!) che gli sviluppatori e gli informatici di Sun Microsystems erano soliti consumare nelle primissime fase di realizzazione del linguaggio di programmazione.
Affinché gli sviluppatori di applicazioni potessero ritrovarcisi facilmente, la sintassi di base di Java è stata mantenuta simile a quella dei linguaggi di programmazione C e C++, ma sono state rimosse alcune criticità ritenute facile fonte di bug o di confusione, quali l'aritmetica dei puntatori e l'ereditarietà multipla delle classi.
Inizialmente, il progetto aveva come scopo ultimo l'interazione con la televisione, ma il linguaggio era troppo avanzato per la tv via cavo del tempo. In un primo momento, quindi, Sun Microsystems decise che questo nuovo prodotto poteva essere destinato alla creazione di complesse applicazione per piccoli dispositivi elettronici, ma l'inaspettata esplosione di Internet nel 1993 fece loro cambiare idea, e Java iniziò ad essere utilizzato come strumento per la programmazione su Internet.
Gosling è l'autore del progetto originale di Java e fu lui a realizzare il compilatore originale e, nel 1994, la prima Java Virtual Machine che consente a un computer di eseguire programmi scritti sia in Java sia in altri linguaggi tradotti in bytecode dopo una prima fase di compilazione. Java fu lanciato ufficialmente il 23 maggio 1995 a SunWorld, e fu l'inizio di un successo senza fine.
Poco tempo dopo, la Netscape Corporation decise di equipaggiare il suo browser con la Java Virtual Machine, il che permise alle pagine web di diventare interattive a livello client, con le applicazioni che venivano eseguite direttamente sul computer dell'utente e non più su un server remoto: una vera e propria rivoluzione.
Gosling continuò a lavorare allo sviluppo di Java e contribuì alla realizzazione di Real-Time Specification per Java.
Un documento chiamato The Java Language Specification (JLS) definisce il linguaggio di programmazione; pubblicato per la prima volta nel 1996, il documento è stato aggiornato in base alle modifiche e alle integrazioni subite dal linguaggio: l'ultima versione “Java SE 11 Edition” è stata pubblicata a fine 2018.
Java è stato creato per essere un linguaggio di programmazione con 5 obiettivi primari:
-
- semplice, orientato agli oggetti e familiare;
- robusto e sicuro;
- indipendente dalla piattaforma;
- contenere strumenti e librerie per il networking;
- progettato per eseguire codice da sorgenti remote in modo sicuro
PERCHÉ JAVA È STATO COSÌ RIVOLUZIONARIO
Java è un linguaggio di programmazione generico, basato su classi, orientato agli oggetti e progettato per avere il minor numero possibile di dipendenze di implementazione. Il suo obiettivo è che gli sviluppatori di applicazioni possano scrivere il codice una sola volta, compilarlo e poi eseguirlo ovunque, il cosiddetto principio WORA, ovvero WRITE ONCE RUN ANYWHERE. Questo significa che il codice Java compilato può essere eseguito su tutte le piattaforme che supportano Java, senza bisogno di ricompilazione.
Questa indipendenza quasi totale dalla piattaforma hardware su cui viene eseguito è una delle più importanti caratteristiche di Java e viene chiamata portabilità.
Tuttavia, la portabilità è un obiettivo tecnicamente difficile da raggiungere e non sono mancate le controversie: infatti, nonostante sia veramente possibile scrivere in Java programmi che si comportano allo stesso modo su diverse piattaforme hardware, è pur vero che questi programmi dipendono da macchine virtuali, ognuna con le proprie caratteristiche e soggetta a bug. E da qui che nasce la rivisitazione del famoso slogan WORA “Write Once Run Anywhere”, che è stato riproposto come WODA “Write Once, Debug Anywhere”.
Quando nel 1994 il World Wide Web stava diventando enorme, Gosling e gli altri colleghi alla SUn Microsystems si resero conto di poter costruire un browser, in cui mettere insieme una serie di cose più o meno scampagnate che avevano creato fino ad allora. “Un browser” dichiara Gosling, “equivaleva a qualcosa che creasse mercato per strumenti, server, ambienti di sviluppo [...]: con Java, il WWW smette di essere un pezzo di carta digitale e diventa una piattaforma”. Questo per dire che … insomma, fin quando non c'è mercato per un'invenzione, questa è abbastanza inutile, agli occhi di chi ci deve investire (la storia più vecchia del mondo).
Nel 2006 la Sun Microsystems distribuisce l'implementazione del compilatore Java e della macchina virtuale sotto licenza GPL - General Public License; l'ambiente Java libero si chiama IcedTea e uno dei più famosi compilatori Java creati al di fuori di Sun Microsystems è GNU Compiler per Java. L'anno seguente Sun ha terminato il processo di pubblicazione, rendendo disponibile tutto il codice della sua JVM sotto condizioni di distribuzione di software libero o open source, a parte una piccola parte di codice di cui non deteneva il copyright.
PREMI E CURIOSITÀ
Nel corso della sua carriera, James Gosling ha ricevuto numerosi premi, fra cui: The Economist Innovation Award, The Flame Award USENIX Lifetime Achievement Award, Officer of the Order of Canada, a fellow of the Association for Computing Machinery, the IEEE John von Neumann Medal.
Gosling è anche detentore di una lunga lista di brevetti, che potete andarvi a vedere qui, perché noi non sapremmo spiegarvi esattamente a cosa servono..!
Nel 2011 Gosling si trovava alla Reno Air Races, il campionato nazionale di aviazione americana, ad appena una 30ina di metri dal luogo dove il Galloping Ghost si schiantò in un incidente orribile, uccidendo il pilota, 10 spettatori e ferendo numerose persone.
Sviluppa il tuo lato da programmatore con i corsi dell'area CODING offerti da Geeks Academy! Sono disponibili in tutte le nostre sedi: affrettati a prenotare il tuo posto!
Fonti: