3. Il linguaggio Java
3.1 Introduzione
Java è un linguaggio a basso livello, completamente orientato all'oggetto, studiato per la
programmazione della macchina Java. Similmente al C, le istruzioni fondamentali del linguaggio Java
sono poche, vicine al linguaggio macchina Java e perciò non danno la possibilità di scrivere
rapidamente programmi complessi. Al fine di estendere le capacità del linguaggio, Java è corredato di
ampie librerie di classi di base. Tramite quest'ultime, si può produrre software evoluto, che va dalle
applicazioni per ambienti grafici a finestre a programmi che gestiscono i socket per la comunicazione
in rete. Ovviamente, le librerie di classi sono estendibili da parte del programmatore.
Un sorgente di codice Java è un file ASCII (o, più in generale, UNICODE) con estensione *.java
contenente le istruzioni del linguaggio Java. Una volta compilato il sorgente java, ogni classe
dichiarata in esso dà origine a un file con estensione *.class. In altre parole, ogni classe "sorgente"
genera la sua corrispondente classe compilata in bytecodes. In effetti, nel linguaggio Java la
dichiarazione di classi non costituisce affatto un'operazione di alto livello. Anzi, essa è molto vicina
alla macchina Java. Il "microprocessore virtuale" Java, infatti, possiede una architettura fondata sulle
classi. Similmente a ciò che avviene anche nel linguaggio Java, i programmi in codice macchina
(bytecodes), sono tutti contenuti in classi (file con estensione *.class). La macchina Java carica ed
esegue classi di bytecodes.
1. Classi del linguaggio Java (sorgente *.java)
=> compilazione =>
2. Classi in linguaggio macchina (*.class)
=> macchina Java
Generalmente, buona parte delle classi in linguaggio macchina di cui fa uso un programma scritto da
un utente si trova in libreria. Una classe di libreria non è altro che una classe di linguaggio macchina
(*.class) ai cui metodi hanno accesso tutti gli altri programmi. Essa può essere ottenuta dalla semplice
compilazione di un sorgente in linguaggio Java.
Per quanto la riguarda la sintassi del lingaggio Java, essa ricalca quella del C e del C++. Per questo
motivo nella seguente descrizione del linguaggio Java si dà per scontata una certa conoscenza del C
e del C++.