Negli ultimi anni `70, il programmatore Bill (William) Joy, uno dei futuri fondatori della Sun Microsystems, iniziò a pensare ad un linguaggio di programmazione che riassumesse in sé le caratteristiche migliori del MESA (linguaggio multi-threading sviluppato nel 1977 dalla Xerox) e del C. Il progetto rimase in sospeso per tutti gli anni `80, durante i quali Bill Joy attese allo sviluppo del Berkeley Software Distribution. Quando, verso la fine degli anni `80, Bill Joy iniziò a lavorare per aggiornare profondamente il sistema operativo UNIX non trovò un linguaggio di programmazione adatto allo scopo. Il C++ gli apparve troppo complicato. Il vecchio progetto di Bill Joy fu allora ereditato dal neonato (dicembre 1990) gruppo di lavoro della Sun chiamato Green Project, il cui principale obiettivo consisteva nello sviluppare software per l'elettronica di vasto consumo. Questo mercato richiedeva prodotti semplici, affidabili e di basso costo. Inoltre i prodotti per l'elettronica di consumo dovevano essere il più possibile neutrali rispetto alla piattaforma usata. Quest'ultima caratteristica dava la possibilità di produrre su vasta scala apparecchi elettronici con le più svariate CPU senza ricorrere, per ognuna di essa, ad un software specifico. Dal momento che l'utente finale del prodotto elettronico di vasta diffusione non si cura della CPU usata, ma solo dell'efficienza e della praticità del prodotto, i costruttori di apparecchi commerciali sono avvantaggiati dalla possiblità di cambiare facilmente CPU [vedi Osservazione 8 in Appendice A]. All'inizio, James Gosling del Green Project tentò di estendere il C++ per renderlo neutrale all'architettura. Dopo alcuni sforzi iniziali, egli si rese conto però che era necessario un nuovo linguaggio. Così nel giugno del 1991 Gosling iniziò a lavorare su Oak, il linguaggio di programmazione che in seguito sarà rinominato Java. Nell'agosto del 1991 Gosling iniziò a scrivere i primi programmi in Oak. Tra la fine del 1992 e i primi mesi del 1993 il Green Project cambiò obiettivo, rivolgendosi verso prodotti per la televisione interattiva, che in quel momento prometteva una forte espansione. Ma agli inizi del 1994 le persone che lavoravano al Green Project si resero conto che il mercato della televisione interattiva non era ancora maturo ed abbandonarono l'idea di produrre software per esso. L'attenzione fu reindirizzata verso il World Wide Web, che, nato al CERN nel 1992 e presto diffusosi in tutto il mondo, aveva aperto Internet all'interesse del grande pubblico. Le persone del Green Project realizzarono che il WWW poteva ottimamente assorbire il software affidabile, semplice, sicuro e indipende dalla piattaforma che esse avevano sviluppato per l'elettronica di vasto consumo, televisione interattiva compresa. Così, si provvide a rendere adatto il linguaggio Oak a sviluppare programmi che potessero essere eseguiti da un client WWW. A tale scopo fu creato il WebRunner, un browser in grado di richiedere e mandare in esecuzione programmi Oak residenti su un server Web. Circa un anno dopo, nel maggio del 1995, i programmatori della Sun decisero di distribuire in tutto il mondo la versione alpha di Oak e di WebRunner, ai quali fu dato un nome più fantasioso (Java e HotJava) dopo una scrupolosa ricerca di mercato [vedi Osservazione 9 in Appendice A]. La versione alpha di Java e HotJava è stata prodotta per macchine Sun Sparc con sistema operativo Solaris 2.3 o superiore e per macchine Intel x86 con sistema operativo Windows 95 o Windows NT. La versione alpha comprende: compilatore java (javac), interprete java (java), un creatore di header (file di include) per implementare metodi nativi in C e C++ (javah), un disassemblatore di codice java (javap), un programma di utilità per mostare informazioni durante l'esecuzione di un programma, come chiamate alle classi, ai metodi e la memoria usata (javaproof), e l'innovativo browser Hotjava per navigazione su Internet. Hotjava (scritto in java) è l'applicazione che consente il ricoscimento e la interpretazione dei programmi java appartenenti alla classe Applet e la visualizzazione della loro uscita nella finestra dello stesso browser. Da segnalare pure che da ottobre 1995 la versione alpha di Java è disponibile anche per il sistema operativo Linux (essa è reperibile presso ftp.science.wayne.edu). Verso la fine del 1995 (settembre) è apparsa la versione prebeta di Java per macchine Sun Sparc con sistema operativo Solaris 2.3 o superiore. Infine, ad ottobre del 1995, è stata rilasciata la versione prebeta di Java pure per PC IBM con ambiente operativo Windows 95 e Windows NT. Con l'arrivo della versione prebeta i cambiamenti rispetto alla versione finale di Java dovrebbero essere minimi. La versione prebeta di Java è costituita dal pacchetto software JDK (Java Developers Kit). Esso comprende, come la versione alpha, il compilatore java (javac), l'interprete java (java), il generatore di header per metodi nativi (javah) e il disassemblatore di codice java (javap). Oltre a questi applicativi, il JDK fornisce un programma che converte i programmi java della classe applet scritti con la versione alpha in programmi applet adatti alla versione beta (upgrade), un debugger (non completo) per programmi java (JDB) e una applicazione che consente di far girare e vedere i programmi applet (AppletViewer). Quest'ultima applicazione sostituisce il browser Hotjava presente nella versione alpha. E' probabile che i programmatori della Sun abbiano ritenuto inutile implementare di nuovo un browser per Internet dal momento che la società Netscape ha deciso di sviluppare browser in grado di interpretare e visualizzare i programmi applet di java scritti con la versione prebeta. All'uscita del JDK, era già disponibile il browser Netscape versione 2.0 (beta release), capace di comprendere ed eseguire gli applet.
<app -specificazione applet- >
Gli applet della versione alpha sono individuati, interpretati ed eseguiti solo dal browser Hotjava e non da Netscape 2.0.
Nella versione prebeta, invece, un applet è contenuto, come prevede lo standard SGML, nei tag <applet> e </applet>. Esso è introdotto in un documento HTML nella seguente maniera:
<applet>
Gli applet della versione prebeta sono individuati, interpretati ed eseguiti da Netscape 2.0 e non da Hotjava.