Nel 1991 un team di ingegneri della Sun Microsystems, guidato da Patrick Naughton e James Gosling, inizia la progettazione di un linguaggio dedicato alla programmazione di piccoli apparecchi elettronici. Inizialmente Gosling indica il progetto con il nome di “Oak” (quercia), ispirandosi ad una grande quercia che può ammirare giornalmente dal proprio studio. Presto però, preso atto che esisteva già un linguaggio con quel nome, durante una pausa caffè matura l’idea di utilizzare “Java”.
Java Team
La specifica è assolutamente chiara: produrre un linguaggio leggero, svincolato dalla particolare architettura hardware ed in grado di funzionare con risorse esigue, soprattutto poca memoria. In particolare la necessità di rendere il linguaggio indipendente dall’hardware spinge i progettisti ad adottare una soluzione intravista per la prima volta in BCPL, ovvero una Virtual Machine. Tale soluzione era stata ben studiata da Niklaus Wirth, progettista del Pascal, che aveva formalizzato l’idea di un linguaggio portabile basato sulla generazione di codice intermedio. Proprio del Pascal esistevano alcune implementazioni virtual machine based.
Il nuovo linguaggio, però, si discosta fortemente dal Pascal e si rifà al C++, sia nella sintassi che nella semantica.
Intanto, agli inizi degli anni ‘90, il mercato degli apparecchi elettronici “intelligenti” non è ancora sufficientemente sviluppato e l’intero progetto rischiava il fallimento. Però, il World Wide Web e internet stanno crescendo a ritmi elevatissimi e il team si rende conto che la nascente tecnologia dei browser può essere notevolmente potenziata proprio da un linguaggio con le caratteristiche di Java (indipendente dall’architettura hardware, real-time, affidabile e sicuro). Nel 1995 alla conferenza SunWorld viene presentato il browser HotJava, scritto interamente in Java e in grado di eseguire codice (Java) contenuto in pagine web (ciò che oggi è chiamato applet). Agli inizi del 1996, Sun rilascia la prima versione di Java e il linguaggio iniziò a suscitare un interesse anche se non è ancora adeguato per lo sviluppo serio di applicazioni. Ma da allora il linguaggio, attraversando parecchie versioni, è stato via via arricchito e le sue librerie sono state enormemente potenziate ed ampliate.
Attualmente Java è un linguaggio maturo ed è usato per sviluppare applicazioni su grande scala, per potenziare le funzionalità di server web, per fornire applicazioni per apparecchi elettronici di largo consumo come, ad esempio, gli smartphone.