Utente:LoStrangolatore/corsojava/lez01

Da Wikiversità, l'apprendimento libero.

Questo corso ha lo scopo di insegnare il Java a coloro che non conoscono la programmazione.


Altre risorse:

  • Java su Wikipedia
  • Manuale di Java, su Wikibooks



Premessa[modifica]

Per una spiegazione più lunga e dettagliata, fare clic qui.

Cos'è un programma

Un programma è un insieme di file che contengono istruzioni eseguibili. Può essere visto come una scatola che prende in ingresso dei dati, detti collettivamente input, lavora in qualche modo su questi dati, e restituisce in uscita altri dati, detti collettivamente output.

Il calcolatore legge le istruzioni scritte nel testo del programma, e si assicura che siano eseguite. Il tipo e il formato delle istruzioni rispettano determinate specifiche, che forniscono le regole per scrivere correttamente un programma e definiscono qual è il comportamento del calcolatore per ciascuna delle istruzioni che appaiono nel programma. Queste regole sono chiamate, nell'insieme, linguaggio di programmazione.

Linguaggi di alto e di basso livello

Alcuni linguaggi di programmazione sono abbastanza vicini al linguaggio naturale, tipicamente l'inglese, e ciò rende molto facile per un essere umano leggere e scrivere il testo del programma. Questi sono chiamati linguaggi di alto livello.
Altri prevedono che si usi un formato binario invece di un formato testuale, quindi rendono la programmazione più difficile per gli esseri umani, però al contempo sono stati progettati apposta per essere letti o interpretati direttamente da processori o programmi automatici. Questi sono detti linguaggi di basso livello.

Compilazione

Il calcolatore non è in grado di eseguire un programma scritto in un linguaggio di alto livello. Al contrario, è necessario scriverlo in un certo linguaggio di basso livello.
Per questo motivo, si usa un piccolo stratagemma. Il programmatore scrive il testo del programma in un certo linguaggio di alto livello; poi avvia uno strumento automatico, chiamato compilatore, che analizza il testo del programma e genera una versione equivalente, ma scritta in un linguaggio a basso livello.

Esistono numerosi linguaggi di alto livello; questo corso interessa specificamente il linguaggio Java.

Il testo del programma, scritto nel linguaggio ad alto livello, si chiama codice sorgente. Il testo prodotto dal compilatore si chiama codice oggetto. In Java, e solo in Java, il testo prodotto dal compilatore si chiama anche bytecode.
Il processo di trasformazione si chiama compilazione.

Macchina virtuale

In genere, un programma scritto e compilato in Java non può essere eseguito direttamente sul computer dell'utente finale. È necessario avere scaricato in precedenza un programma aggiuntivo, chiamato Java Virtual Machine o JVM, in italiano macchina virtuale Java. Per eseguire il programma Java, l'utente dovrà avviare la Java Virtual Machine, indicando i file che costituiscono il programma; la macchina virtuale legge e analizza il bytecode, e lo esegue.

Realizzare un programma Java[modifica]

Riassumendo, i passi necessari per scrivere un programma in Java sono i seguenti:

  1. Per prima cosa, si scrivono le istruzioni del programma all'interno di uno o più file, seguendo le regole formali del linguaggio di programmazione Java. Questi file hanno estensione .java.
  2. Il secondo passo è avviare un programma, detto compilatore. Questo programma legge i file sorgenti che abbiamo scritto e produce altri file che contengono le stesse istruzioni, ma in un formato diverso (bytecode). Questi file hanno tipicamente l'estensione .class.
  3. Infine, avviamo la cosiddetta "macchina virtuale", cioè un altro programma che prende in ingresso i file contenenti il bytecode e si assicura che il processore del computer li esegua esattamente come se fossero scritti in linguaggio macchina.

Questo è lo schema generale che viene seguito sempre quando si scrive un programma in Java, che si tratti di un programma di esempio che visualizza la scritta "Hello, world!" su terminale, oppure un programma che fornisce accesso remoto ad un database tramite interfaccia grafica.

Il riferimento ufficiale che riporta le regole che definiscono il linguaggio si chiama Java Language Specification ed è disponibile qui. Questo corso illustra il linguaggio, per come esso è definito nella terza edizione delle specifiche.

Cosa serve[modifica]

Per il corso è sufficiente un qualunque editor di testo. Ad esempio, su Windows sarà sufficiente il Blocco note o il Wordpad.

TODO: ... come e dove procurarsi JDK ed eventuali IDE; posizione del compilatore e della VM sul sistema; impostazione del PATH, se necessario (oppure, su Win, scorciatoia tramite omonimo file batch); uso del terminale (riga di comando)

Note[modifica]