Il linguaggio Java

Il linguaggio Java sviluppato da un gruppo di ingegneri della SUN Microsystems, Inizialmente chiamato Oak (Quercia), dal team diretto da James Gosling. I legali fecero notare che oak era già stato registrato da altri, quindi si optò per qualcosa di diverso per dare un nome al linguaggio.

Introduzione al linguaggio Java

Dopo diverso tempo, nomi suggeriti e poi ritirati, leggenda vuole che d’avanti ad una calda e fumante tazza di caffè; gli sviluppatori decisero di chiamare il linguaggio di programmazione (Java). Il metodo di ricerca passò dal trovare un buon nome da attribuire al linguaggio ad uno che non lo sarebbe stato; tuttavia il tempo ha smentito il metodo dato il successo di Java nonostante la bizzarra associazione del logo affiancato da una tazza di caffè fumante.

Il linguaggio Java
Immagine amatoriale non ufficiale per lla rappresentazione del linguaggio Java.

Gli obbiettivi del linguaggio Java.

Gli obbiettivi prefissati per Java erano quelli di creare un linguaggio di programmazione che si adattasse allo sviluppo di applicativi per svariati dispositivi elettronici; aggirando tutte quelle problematiche tipiche, causate dal linguaggio C e C++ ma poggiando comunque le basi su ciò che era di buono della sintassi c e c++. Anche questa scelta si rilevò vincente; perché molti programmatori in seguito iniziarono ad utilizzare il linguaggio Java, agevolati proprio da questa familiarità con il loro background.

Il networking

Una completa gamma di librerie per il networking standard già pronte all’uso che non erano comprese in altri linguaggi diedero slancio al linguaggio in internet. Altri linguaggi dovettero porvi rimedio integrando librerie di terze parti e non sempre con poche difficoltà e ciò rendeva Java più attraente per i programmatori.

Il linguaggio Java è interpretato o compilato?

Java è un linguaggio di programmazione OOP acronimo di “object oriented programming”; il codice è interpretato ma non compilato e questo fa si che ne giovi la portabilità del software. Netscape nel 1993 fu il primo browser ad integrare all’interno la JVM (Java Virtual Machine) ospitando le prime Applet “piccole applicazioni scritte in linguaggio Java per il lato client” quando lo Javascript molto diffuso oggi non era nemmeno in fase di sviluppo.

Funzionamento della JVM

Il codice del sorgente scritto in linguaggioJava è elaborato dalla classe compiler; nonostante questa classe evochi e faccia riferimento alla compilazione non svolge questo compito! Il codice Java non è tradotto in binario ma in un codice intermedio molto veloce: il bytecode; quest’ultimo e interpretato a volo dalla java virtual machine interagendo con il sistema operativo e l’hardware sottostante.

L’elaborazione del bytecode Java

l’integrazione del JIT compiler (Just in time compiler) fa si che il codice sia generato molto velocemente in codice macchina; questo processo di Just in time compiler avviene sia quando il codice e generato su server remoto o dal disco del sistema in uso. Infine abbiamo il java processor che interviene come rifinitura e Debug sul codice in caso qualcosa ne ostacoli l’esecuzione.

Il linguaggio java
JVM (Java virtual machine): schema illustrativo

Il linguaggio Java e l’indipendenza dalla piattaforma

L’indipendenza dalla piattaforma come anticipato dal Tim di sviluppo con il famoso motto (write once run everywhere) tradotto in italiano scrivere una sola volta ed eseguire da per tutto, su qualsiasi hardware indifferentemente dalla piattaforma ospitante.

Sviluppato per la rete

Progettato alla base per eseguire codice remoto in modo sicuro, questo linguaggio suscitò subito l’interesse da parte delle grandi organizzazioni; nonostante in campo informatico la sicurezza non e garantita mai al 100% la  Oracole la quale ha acquisito la Sun Microsystem nel 2010 e la grande community che partecipa al progetto sono garanzia di risoluzioni alle problematiche che potrebbero presentarsi nel tempo restando un valido supporto. L’acquisizione della Sun da parte della Oracole mise Gosling in condizione di lasciare Sun per i diversi modi di veduta sul progetto il quale preoccupò non poco gli sviluppatori e la community sulle posizioni, strategia e indirizzo del progetto.