Perché Java

Un elaboratore elettronico funzionante è un sistema costituito da componenti elettronici (hardware) e informazioni e istruzioni(software).

Il software che permette all'elaboratore di svolgere le sue funzioni fondamentali, il sistema operativo, viene normalmente caricato in memoria all'accensione. Ma se si vuole che l'elaboratore esegua un'applicazione di particolare interesse per un utente, il software deve essere integrato con il complesso di informazioni e istruzioni inerenti all'applicazione stessa.

A questo scopo l'utente o chi per lui deve redigere un programma. Il programma solitamente viene scritto usando un linguaggio, cioè un sistema costituito da un alfabeto, un vocabolario, una grammatica e una sintassi ben precisi. Il testo del programma (il sorgente) deve essere chiaramente intelligibile per gli esseri umani, qualunque sia la loro lingua naturale, e deve essere traducibile senza ambiguità nel codice binario (il codice macchina) dell'elettronica. Il codice macchina, a sua volta, deve integrarsi perfettamente con il sistema operativo.

Della traduzione del programma in codice macchina finalizzato al sistema operativo che lo deve eseguire si incaricano programmi specifici: interpreti (come per il primo Basic o l'attuale Javascript) o compilatori (come per il Pascal o il C).

Quindi, in generale, un codice prodotto in ambiente Windows non funzionerà in ambiente Mac o Linux e viceversa. Per rendere un programma eseguibile dalla totalità dei potenziali utenti bisognerebbe produrne tante versioni quanti sono i sistemi operativi. Ed anche in questo caso rimarrebbe il problema delle sempre nuove versioni degli attuali sistemi operativi alla cui evoluzione un codice andrebbe continuamente adattato.

Il linguaggio Java è stato prodotto per cercare di superare questi problemi: il compilatore Java produce un codice (bytecode) non direttamente riferito al sistema operativo della macchina che lo deve eseguire, ma ad un software intermedio, la Java Virtual Machine, che a sua volta interagisce con il sistema operativo.

La Oracle, attuale proprietaria del marchio Java, predispone le Virtual Machine adatte per i vari sistemi operativi: in questo modo i codici Java possono essere eseguiti (quasi) in ogni ambiente.

Per questa caratteristica, al momento della sua introduzione, la metodologia Java offriva un notevole vantaggio: i codici Java potevano essere inseriti nelle pagine Web ed essere eseguiti da (quasi) tutti i browsers nei vari sistemi operativi, sempreché i browsers siano integrati con i plug-in JRE (Java Runtime Environment).

Le applicazioni in rete non dovevano essere comprate né installate sul sistema dell'utente: erano quindi molto comode. Ovviamente non potevano essere grosse applicazioni, capaci di numerose o potenti funzioni. Si potevano costruire piccole applicazioni (dette applet: gergo per 'applicazioncina').

Ma le capacità delle applet Java poteva rappresentare un pericolo per l'utente, perchè, a sua insaputa, esse potevano essere un veicolo di operazioni fraudolente, quindi oggi la maggior parte dei browsers più diffusi, non ne permettono più l'esecuzione.

Oracle si è adeguata; le versioni più recenti del software Java hanno abolito le applet, quindi oggi sono possibili solo applicazioni stand alone. Esse vanno redatte, compilate e lanciate sulla propria macchina.