Lunedì 18 Giugno 2001
Michele Crociani
Relazione conclusiva
Con questo corso penso siano stati raggiunti gli obiettivi che ci eravamo prefissati.
Abbiamo avuto modo di conoscere e capire un nuovo linguaggio di programmazione, ma
soprattutto un nuovo modo di pensare la programmazione (almeno per me che conoscevo
solo il C!).
Java inizialmente fu sviluppato per l’elettronica di consumo (televisori, lavatrici…), e
dunque era un prodotto di piccole dimensioni, semplice, veloce, efficiente e portabile.
Sono state proprio queste caratteristiche a rendere Java il linguaggio ideale per la
distribuzione di programmi eseguibili attraverso Internet.
Java è portabile su diverse piattaforme e sistemi operativi,sia a livello di codice sorgente
sia a livello di codice binario. I tipi di dati primitivi hanno la stessa dimensione in tutti gli
ambienti di sviluppo, non è necessario scrivere un programma Java basandosi sulle
caratteristiche di un particolare sistema operativo per svolgere i compiti base. Posso
compilare i file sorgente su qualsiasi sistema. Anche i file binari sono indipendenti dalla
piattaforma e possono essere eseguiti su sistemi diversi senza richiedere una nuova
compilazione. Un interprete di bytecode specifico per la piattaforma (macchina virtuale di
Java) provvede alla loro esecuzione.
Inoltre Java è un linguaggio orientato agli oggetti. La programmazione agli oggetti non
si riduce solamente ad un modo di strutturare i programmi, ma solo un linguaggio
realmente orientato agli oggetti consente di produrre programmi flessibili, modulari e
riutilizzabili.
Tutto è strutturato in classi (i tipi di dati fondamentali, le funzioni di input e output, la
grafica…), librerie fondamentali che, essendo scritte in Java, sono indipendenti dalla
piattaforma. In questa maniera ottengo anche una funzione di incapsulamento: vedo solo
l’interfaccia degli oggetti senza poter accedere direttamente alla struttura dell’oggetto.
Questa è una caratteristica fondamentale per l’esportabilità e la modularità.
Durante questo corso, dunque, anche attraverso le esercitazioni, abbiamo imparato cos’è
l’ereditarietà tra le classi, come realizzare oggetti composti da altri oggetti, come utilizzare
le interfacce e le classi astratte, cosa sono le classi wrapper, come organizzare la grafica,
come costruire applet… le nozioni fondamentali per imparare a programmare in Java.
Da parte mia sono state svolte tutte le esercitazioni senza troppe difficoltà, anche se, per
questioni di tempo, non sempre è stata svolta la parte facoltativa. Penso di aver appreso gli
argomenti trattati e di aver capito i concetti fondamentali che stanno dietro a questo
linguaggio di programmazione. E’ chiaro che se si valuta il “tempo speso” c’è chi ha fatto
una lavoro più completo del mio, ma per quello che riguarda il raggiungimento degli
obiettivi posti penso di aver fatto quello che dovevo fare.
(Ho avuto un po’ di difficoltà iniziali nel capire in che maniera andavano stese le relazioni,
infatti qualche volta l’analisi è diventata un progetto… ho confuso un po’ le cose.)
Comunque se devo autovalutarmi mi proporrei per un 28.