# Procurarsi il JDK

Questa lezione spiega come dotarsi degli strumenti di sviluppo.
Gli strumenti necessari sono un compilatore e una macchina virtuale. Gli strumenti facoltativi usati più di frequente sono:
* un editor di testo, eventualmente con funzionalità di modifica avanzate specifiche per modificare il codice sorgente (IDE, Integrated Development Environment)
* un tool che generi la documentazione delle classi
* un tool per creare e aggiornare gli archivi JAR
* un tool per decompilare
* un tool per creare gli header C per le classi con metodi nativi
Eccetto il primo, tutti sono presenti nel cosiddetto JDK, ovvero Java Development Kit (in italiano: kit di sviluppo per Java).

## Procurarsi il JDK

In base al sistema operativo che viene usato, la procedura per l'installazione del JDK è diverso.

### Windows

Il Java Software Development Kit (SDK) contiene tutti gli strumenti necessari per compilare ed eseguire programma Java ed è disponibile online: si può scaricare qui.
Una volta scaricato il file, è necessario installarlo: il processo di installazione è semplice e bisogna semplicemente seguire l'installazione guidata.

### Linux

Il JDK per Linux può essere ottenuto dal sito di Oracle allo stesso indirizzo a cui è possibile trovare quello per Windows; altrimenti è possibile usare file RPM o DEB nelle relative distribuzioni, con l'apposito programma.
Se si usa la distribuzione Ubuntu, è possibile aggiungere dei Personal Package Archives (PPA) che contengono del software non standard. Uno di questi PPA rende possibile l'installazione e l'aggiornamento automatici dello JDK di Oracle.

## PATH e CLASSPATH

Per poter lanciare il compilatore e la macchina virtuale da terminale, bisogna informare il sistema operativo della loro posizione sul file system. Questa può essere indicata in tre modi:
* cambiando la directory corrente nella directory /bin del JDK o JRE, dopodiché digitando javac o java;
* scrivendo il percorso del file (per es. /java/jdk1.8.0_121/bin/javac);
* aggiungendo, in fondo alla variabile d'ambiente PATH, il percorso della cartella "bin" del JDK (ad es., su Windows è di default C:\Programmi\Java\jdk1.8.0_121\bin).
Inoltre, il compilatore e la macchina virtuale Java hanno bisogno di conoscere il percorso dei file che costituiscono il codice del programma. Questi file possono essere specificati in due modi:
* alla riga di comando, servendosi dell'opzione -classpath o -cp;
* impostando la variabile d'ambiente CLASSPATH.
Nel caso del compilatore, il CLASSPATH viene scansionato alla ricerca di directory che contengano il codice sorgente; nel caso della macchina virtuale, il CLASSPATH viene scansionato alla ricerca di file che contengano bytecode.

### Come aggiungere un percorso ad una variabile d'ambiente

Su Windows: aprire Pannello di controllo - Sistema - Avanzate - Variabili d'ambiente. Alla voce che corrisponde alla variabile di interesse, aggiungere il path desiderato, avendo cura di separarlo dai percorsi precedenti con un ";".
Su Linux: su shell Bash, eseguire il comando:
dove al posto di PATH e di $PATH si indica la variabile di interesse, e al posto di percorso si scrive il percorso desiderato.

## Dotarsi di un buon IDE

Oltre al Java Development Kit, per programmare con comodità, è consigliabile installare un buon ambiente di sviluppo integrato (Integrated Development Environment).
Le opzioni possibili in questo caso sono:
* Eclipse: inizialmente sviluppato da IBM, attualmente è mantenuto dalla Eclipse foundation. Ha tantissimi plugin che gli permettono di avere tantissime funzionalità;
* NetBeans: è lo strumento che viene sviluppato da Oracle, la stessa società che sta sviluppando Java:
* IntelliJ: è l'unico a pagamento all'interno di questa lista, ma ha delle funzionalità avanzate, che possono giustificare la spesa.
Però si dovrà necessariamente scaricare uno di questi ambiente di sviluppo in quanto la particolarità di Java è proprio l'opportunità di creare un programma utilizzando un semplice editor di testo come blocco note e Notepad.
Per imparare a usare meglio Java può essere utile scaricarsi notepad++. In questo caso per creare un file Java non bisogna fare altro che salvare il file in estensione .java.
Un altro strumento utilissimo per compilare ed eseguire file Java è il prompt dei comandi, facilmente raggiungibile dal menu start o esegui/cmd. Il prompt apparirà con una schermata tutta nera (un po' come il terminale di Ubuntu e i terminali Linux in generale).
Attenzione: Il prompt dei comandi non funziona se prima l'utente non ha installato il JDK di Java ovvero il Java kit development.
Una volta fatto questo siete in grado di creare il vostro primo file Java!
Per prima cosa avviate Notepad++ e salvate la pagina in estensione .java in una directory a vostro piacimento. Si consiglia di creare una cartella denominato "ProgrammiJava" nella Home del vostro computer in quanto sarà più facile raggiungere la directory con il prompt dei comandi in fase di compilazione.