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.