Java è un linguaggio di programmazione. I programmi realizzati con esso, tuttavia, necessitano di un componente aggiuntivo per funzionare. Tale componente è il Java Runtime Environment, che deve essere mantenuto aggiornato.

Sviluppato a partire da inizio anni ’90 dalla Sun Microsystems (ora acquisita da Oracle, già azienda leader nel settore dei database), Java ha il pregio di essere un linguaggio di programmazione moderno ed indipendente dalla macchina su cui è eseguito, al punto che il programmatore può evitare di gestire aspetti particolarmente complessi quali ad esempio la memoria allocata dal proprio programma.

Java è inoltre stato progettato per poter essere implementato su una varietà di architetture e dispositivi: non solo computer, ma anche telefoni cellulari, smart card, set-top box, equipaggiamento elettronico di veicoli e server web.
Questi vantaggi hanno il loro costo: le applicazioni Java, quelle per PC in particolare, sono più lente e pesanti, ciò perchè non sono eseguite direttamente dalla macchina, bensì da un software intermedio.

Tale svantaggio, tuttavia, non è un limite per particolari tipologie di software, che possono invece trarre beneficio dal suo modello ad oggetti, che permette di “trasformare” la realtà concreta in oggetti astratti, che il programmatore può quindi manipolare in maniera più semplice che rispetto ad altri approcci.

Il nome Java è da alcuni collegato ai vecchi giochi per cellulari: prima dell’attuale boom degli smartphone, ogni produttore realizzava apparecchi con sistemi operativi differenti, e Java ne rappresentava l’anello di congiunzione, permettendo di sviluppare software per tutti i modelli.

Ancora oggi Java è il principale linguaggio per sviluppare apps su architettura Android, sebbene in questo caso la sua implementazione non sia quella ufficiale di Java, ma sia stata creata ad hoc.

 

Mi chiedono di installare o aggiornare il Java Runtime Environment. Che cos’è JRE?
Java Runtime Environment, spesso abbreviato JRE, è il software intermedio citato prima che permette di eseguire un’applicazione Java.

Per capire meglio il funzionamento, ricostruiamo la storia di un programma.

Con un  linguaggio di programmazione “tradizionale”, il programmator scrive il codice (testo con simboli e costrutti logici) e poi, tramite uno strumento chiamato compilatore, genera a partire da esso il file eseguibile direttamente dal proprio sistema operativo.

Java funziona in modo analogo, ma genera un file (jar) eseguibile solamente dal Java Runtime Environment.
JRE, a sua volta, è un eseguibile creato per i diversi sistemi operativi, che analizza le istruzioni presenti nel jar e le interpra per renderle eseguibili dalla macchina.

Tornando alla domanda che ci siamo posti in questo paragrafo, conviene installare e tenere aggiornato JRE sul proprio PC per eseguire tutte, anche lenultime applicazioni Java in tutta stabilità e sicurezza.

 

Una piattaforma completa

Per essere multipiattaforma, l’implementazione di Java deve permettere ai suoi programmatori di sviluppare senza potersi interfacciare direttamante al sistema operativo. La piattaforma per PC include quindi oggetti e strumenti per eseguire le più disparate attività, mantenendo il risultato indipendente dalla macchina di destinazione.

 

Una nuova sfida: rimanere al passo con i tempi
Verso la metà degli anni ’90, Java era visto come il prossimo standard per lo sviluppo software. Ad oggi, pur essendo il linguaggio più utilizzato, si trova ad affrontare alcune sfide.

Molte interfacce grafiche di applicazioni Java sono create con swing, una libreria che pur essendo multipiattaforma, offre un’estetica poco attuale e poco integrata con il sistema operativo.

La piattaforma per cellulari, inoltre, è stata sorpassata dalle piattaforme per smartphone, che reintroducono il problema della frammentarietà (tanti dispositivi, architetture e linguaggi).