JAVA\Lezione 1

Introduzione a Java

Java è un linguaggio di programmazione definito “orientato agli oggetti” (OOL, Object Oriented Language, il significato lo vedremo) sviluppato nel 1991 dalla SUN MICROSYSTEMS e che si ispira al C++. Java è stato progettato con lo scopo di ottenere un prodotto di piccole dimensioni, semplice da usare, veloce e utilizzabile su diverse piattaforme e sistemi operativi: è il linguaggio ideale per diffondere programmi tramite il world wide web.

Uno dei motivi del grande successo di Java è sicuramente quello della sua “universalità”: un programma scritto e opportunamente compilato in Java può essere utilizzato su qualsiasi macchina con qualsiasi sistema operativo. Negli altri linguaggi di programmazione l'operazione di compilazione traduce il listato scritto dal programmatore in un codice macchina che cambia da processore a processore (e dipende dalla piattaforma e dal sistema operativo), quindi il programmatore si trova costretto a compilare il file sorgente più volte su diversi computer.

La Figura 1.1 illustra tale processo:

Figura 1.1 – Compilazione tradizionale

Java, invece, adotta un sistema diverso: compilando il file sorgente non si ottiene il codice macchina ma un semi-compilato detto bytecode, una via di mezzo tra sorgente e codice macchina che viene interpretato dalla V.M. (Virtual Machine). La Virtual Machine è diversa per ogni sistema, e completa la compilazione in funzione dell’ambiente specifico nel quale è eseguita l’applet.

Il processo è illustrato in Figura 1.2:

Figura 1.2 – Compilazione in Java

Nello sviluppo di un programma lavorerete con due tipi diversi di file: i file .java, che sono il codice sorgente scritto da voi secondo la sintassi Java che apprenderete durante questo corso, e i file .class, i file bytecode che otterrete dopo la compilazione.

Come lavorare: i programmi di cui fornirsi

Se vogliamo scrivere in Java non abbiamo bisogno di editor/compilatori specifici come succede, ad esempio, per Delphi o VisualBasic. La casa produttrice del linguaggio Java mette a disposizione gratuitamente su Internet il famoso pacchetto JDK nel quale sono contenute tutte le librerie di Java, cioè tutte le “istruzioni” necessarie a scrivere in linguaggio Java, indispensabili per programmare. Questo pacchetto (scaricabile dal sito www.java.sun.com) può essere usato anche senza l’ausilio di altri software, ma molto più semplice è dotarsi di un programma che faciliti la scrittura ed la compilazione dei nostri programmi.

Uno di questi, con il quale sono stati sviluppate tutte le applet che vedrete in questo corso, è Kawa, un programma facilmente reperibile in Internet. Con programmi come questo tutto diventa più semplice, perché con essi si può scrivere direttamente il file .java e compilarlo; Kawa è inoltre dotato di una comoda finestra dove appaiono tutti gli errori di sintassi. Per una recensione completa di questo prodotto cliccate qui.

La compilazione del file .java produce un file con estensione .class. Questo poi dovrà essere richiamato da una pagina web secondo le modalità che vedremo più avanti. La produzione del file .class (semicompilato) avviene soltanto se il codice dell’applet è completamente corretto.

La programmazione orientata agli oggetti

La programmazione orientata agli oggetti, cui abbiamo accennato, rappresenta una nuova frontiera della programmazione. Questo nuovo modo di programmare permette di creare programmi molto complessi in poco tempo grazie alla facilità con la quale parti di programmi già esistenti possono essere riutilizzati.

Java, grazie alla sua versatilità, occupa un posto in prima fila tra gli OOL (Object Oriented Languages) insieme con un altro linguaggio, il C++.

Programmare per oggetti significa definire oggetti stabilendone proprietà e comportamenti.

Ogni oggetto, nella nostra vita, ha delle caratteristiche fisiche e dei comportamenti. Un albero, per esempio, avrà le foglie di una certa forma, il diametro di una certa lunghezza, sarà alto alcuni metri e avrà alcuni comportamenti caratteristici: perdere foglie, nutrirsi, etc.

Bene, non ci crederete ma abbiamo appena definito un oggetto come si fa in Java. Sono state, infatti, dichiarate delle proprietà (altezza, larghezza, colore foglie) e dei comportamenti (si nutre, perde foglie, rigenera ossigeno).

La programmazione in Java, infatti, consiste nel definire classi di oggetti che hanno in comune delle proprietà (le variabili o attributi) e dei comportamenti (i metodi).

Gli oggetti sono delle manifestazioni concrete (dette anche istanze) di una classe altrimenti “astratta”.

Un esempio: quando si pensa alla parola “albero” non s’immagina un albero in particolare, ma il concetto di albero che dà vita ad una classe di alberi. Tutti gli oggetti di tale classe hanno delle caratteristiche proprie quali l’altezza, la forma delle foglie, il colore delle foglie, il tipo di frutto, etc. Se affacciandosi dalla finestra si vede un pino, ciò che si ha davanti è una manifestazione concreta della classe Albero, un suo oggetto concreto.

Nella quinta lezione chiariremo ed approfondiremo questi concetti, per ora ci concentreremo sulla sintassi e sulle istruzioni fondamentali.

Seconda Lezione