1.Prefazione.
Queste pagine nascono con l'intenzione di dare un approccio alla programmazione in Java. Essendo io un semplice studente e quindi non un programmatore ho deciso di condividere la mia preparazione che (cercherò) di aumentare di settimana in settimana.
Cercherò di essere il più chiaro possibile e sono, ovviamente, ben accette correzioni o critiche nel caso le cose che scrivo risultassero inesatte.
Qualsiasi commento si voglia fare su questa guida, sono reperibile alla mia mail (soulplace@flossdev.com) o su apposite discussioni nel forum.
Questa guida si propone di iniziare dalle basi quindi cercherò di dare per scontate poche cose, tranne quelle davvero ovvie, cercando di accompagnare con esempi pratici la maggior parte delle “lezioni”.
1.1 Installare Java.
Per installare Java con i relativi componenti che permettono la programmazione, avete bisogno di scaricare SDK/JDK dal sito della Sun http://java.sun.com .
Una volta scricato il file (.rpm o .bin che sia) si procede all'installazione. Il file .rpm va installato con il comando da terminale:
>rpm -ivh ;
mentre la versione .bin bisogna prima cambiare i permessi poi installarlo:
>chmod +x ,
>./.
Questo vale ovviamente per tutte le distribuzioni di linux; un consiglio personale va agli utenti di Ubuntu 5.04 e Ubuntu 5.10: sfruttate, per installare java, apt-get che risolve un po' di problemi che si possono avere sulle altre distro.
Una volta installato tutto provate a dare da terminale il comando:
>java -version;
dovreste avere in output la versione di java che avete installato. In caso contrario significa che ci sono da settare le variabili d'ambiente (c'è un'ottima guida di xlinux per quanto riguarda la programmazione della shell Bash) ; ciò si può fare attraverso due metodi:
Il primo (da me suggerito) e quello di editare a mano il file .bashrc o .cshrc aggiungendo al PATH la directory nella quale avete installato Java e in CLASS PATH la directory nella quale si trova il file cs1.jar
Il secondo metodo sfrutta il comando setenv:
>setenv PATH $PATH”:
>setenv CLASSPATH “
Per avere un approccio un po' più delicato con il mondo Java useremo per i primi tempi anche Bean Shell, scaricabile gratutitamente dal sito http://www.beanshell.org . Il file che scarichiamo è di tipo .jar quindi per aprirlo basterà dare il comando:
>java -jar .
2.Approccio alla programmazione.
L'esigenza di costruire programmi nasce dall'esigenza di risolvere un problema o una classe di problemi; bisogna quindi innanzitutto conoscere e capire il problema per cercare poi di scomporlo in problemi più facilmente gestibili; una volta giunti a questo bisogna iniziare a proggettare una prima soluzione che, nella maggior parte dei casi, non corrisponde alla soluzione definitiva che adotteremo, dobbiamo allora rivederla e correggerla fino al perfezionamento della stessa e, una volta scritta, verificare la sua funzionalità e correggere eventuali errori.
L'insieme di parole, simboli e regole (che li combinano tra di loro) che usiamo per progettare una soluzione viene chiamato “linguaggio di programmazione “.
Un linguaggio di programmazione può essere di basso livello, se scritto direttamente in linguaggio macchina, o di alto livello quando vengono usati simboli e parole più vicini al programmatore che necessitano, però, di essere tradotte in linguaggio macchina.
La scelta di programmare in java deriva dal fatto che, oltre ad essere un buon metodo per imparare a programmare con molti linguaggi, è di uso comune in tutto il mondo e molto sfruttato negli ambienti commerciali.
Java è abbastanza giovane (1995) e deve la sua fortuna al fatto che è stato il primo linguaggio di programmazione che si è posto come obbiettivo quello di creare programmi direttamente eseguibili via Web. Viene definito come linguaggio object-oriented (orientato agli oggetti). Gli oggetti sono i “mattoni” che creano la base per costriuire programmi; possiede una vasta collezione di librerire che si possono usare nello sviluppo di applicazioni per curare la grafica, comunicare in rete, per interrogare database e altro, ma oltre alle librerie fornite con Java esiste la possibilità di scaricarne altre dalla rete, comprarle se sotto licenza, o costruirle a nostro piacimento.
Per programmare necessitiamo quindi di:
Un algoritmo (problema --> metodo di risoluzione --> soluzione);
Un linguaggio (nel nostro caso Java);
Un interprete (che traduca il nostro linguaggio in modo comprensibile per la macchina).
Un algoritmo consiste in una sequenza di azioni che trasformi i dati iniziali in un numero finito di passi, elementari e non ambigui per giungere al risultato finale.
Esistono 2 modi di interpretare i linguaggi di alto livello:
Compilazione : da un programma scritto con un linguaggio di alto livello ne crea uno identico scritto in linguaggio macchina;
Interprete : esegue direttamente le operazione descritte con un linguaggio d'alto livello traducendole durante l'esecuzione.
Java rappresenta un misto di questi 2 metodi.
In sostanza la creazione di un programma si svolge in questa maniera:
Editing : scrittura del programma con qualsiasi editor di testo (jedit, emacs, ect...);
Compilazione : in questo caso non viene prodotto un programma direttamente esguibile dalla macchina, ma un codice chiamato bytecode (comando java= javac) ;
Esecuzione : grazie ad un interprete avviene l'esecuzione (comando java= java).
Ovviamente in tutte queste fasi dobbiamo stare attenti a non commettere errori, che possono essere di tipo sintattico, ovvero errori di scrittura che non permettono l'esecuzione del programma, o di tipo semantico, cioè errori logici per i quali il programma va in esecuzione ma non porta ai risultati voluti. La verifica della correttezza sintattica la si ha durante la compilazione in quanto il compilatore restituisce in output un messaggio di errore, mentre il controllo della correttezza semantica si ha mandando in esecuzione il programma e testando i risultati.