Programmazione
• Attività di progettazione ed implementazione
di programmi
• I programmi permettono di realizzare funzioni
complesse su un hardware in grado di
eseguire solo operazioni elementari
• I programmi sono sequenze di istruzione che
permettono di risolvere un problema complesso
• L’utilizzatore di un computer non ha bisogno
di programmare, usa programmi già realizzati;
il computer diventa uno strumento utilizzabile
da una larga categoria di persone.
Interpretazione e Compilazione (I)
• I programmi direttamente eseguibili da un computer sono sequenze di
istruzione in linguaggio macchina, ovvero stringhe binarie (istruzioni)
• Le istruzioni del linguaggio macchina sono specifiche del
computer per il quale sono state progettate, quindi uno stesso file
binario non può essere eseguito su macchine diverse
• Lo sviluppo di software in linguaggio macchina è impraticabile, è
necessario usare un linguaggio ad alto
livello traducibile automaticamente in linguaggio macchina
• La traduzione può essere operata tramite un programma
interprete (istruzione per istruzione) od un compilatore
(file sorgente -> file oggetto -> file eseguibile)
Interpretazione e Compilazione (II)
• Lo sviluppo di programmi complessi non
può prescindere dalla compilazione
• L’interpretazione aumenta la portabilità del
software su più piattaforme perché non
rende necessaria la creazione di codice
binario intrinsecamente
dipendente dalla macchina
Dal codice sorgente
al programma in esecuzione in Java
Editor: es.
Notepad,
JCreator
javac
java
API
• Il Java è un linguaggio ad alto livello che utilizza un doppio livello di traduzione
• COMPILAZIONE: Il codice sorgente viene prima tradotto in un file di bytecode,
sequenza di istruzioni indipendenti dalla macchina che per essere eseguite
devono essere tradotte nel linguaggio macchina specifico della piattaforma
utilizzata
• INTERPRETAZIONE: Il codice bytecode è eseguito dall’interprete, che traduce
le istruzioni bytecode una alla volta e automaticamente nel linguaggio
macchina specifico della piattaforma utilizzata
Il ciclo modifica-compila-correggi
• Attraverso un editor si crea e si modifica un
file sorgente dall’algoritmo; alcuni editor
(es. JCreator) permettono di individuare
facilmente errori di battitura tramite il
syntax highlighting
• Il compilatore genera il codice bytecode dal
sorgente se non rileva errori sintattici e/o
lessicali, altrimenti fornisce un elenco di errori
da correggere tramite l’editor
• Il processo di collaudo è volto ad individuare
errori logici (l’algoritmo di partenza non era
corretto), di traduzione (il codice sorgente non
realizza l’algoritmo progettato), di semantica
dinamica ( legati a particolari assegnazioni
di valori alle variabili, es. divisioni per zero).
Consiste nel provare un programma
con diversi valori di input. Può durare 5 minuti
o anni a seconda della complessità del programma