Contributo al Corso
Linguaggi di Programmazione

Corso di Laurea in Informatica, Università di Padova, a.a. 2003/04
Docente: Tullio Vardanega 
(Ultimo aggiornamento: 3 giugno 2004 ore 12:00)

Presentazione

Obiettivi

Il progetto di un linguaggio di programmazione avanzato si confronta inevitabilmente con scelte caratterizzanti nella definizione del supporto da essi offerto alla programmazione ad oggetti, come veicolo per la modularizzazione, il riuso e l'estensibilità del codice, ed alla programmazione concorrente, come veicolo per la rappresentazione modulare e diretta del parallelismo intrinseco nei sistemi informatici.

Pochissimi linguaggi attuali e di diffusione significativa prevedono supporto per entrambe queste dimensioni di programmazione avanzata, tra essi Ada (da subito dotato di supporto alla concorrenza e dalla sua revisione del 1995 dotato anche di supporto alla programmazione ad oggetti) e Java (progettato da subito per il supporto di entrambe).

I tre seminari proposti in questo breve segmento del corso Linguaggi di Programmazione si propongono di illustrare alcuni aspetti particolarmente interessanti delle scelte progettuali effettuate al riguardo delle due problematiche sopra accennate, nella definizione dei linguaggi Java ed Ada.

Calendario, contenuto e materiale dei seminari


Data, luogo e ora Seminario
Materiale Bibliografico
Esempi
lunedì 7 giugno
aula P80, 09:30-11:10
Modelli di supporto
al paradigma OOP
Brosgol 2000 Specializzazione Riferimento a sottoprogrammi Redispatching
martedì 8 giugno
aula P80, 9:30-11:10
Descrizione
Sorgente
Descrizione Sorgente
Descrizione Sorgente
Ada Java Ada Java Ada Java (v1)
Java (v2)
Ada Java (v1)
Java (v2)
Java Java
giovedì 10 giugno
aula P80, 9:30-12:05
Modelli di supporto
alla programmazione concorrente
Brosgol 1998
Sistema asincrono produttore-consumatore
Descrizione Sorgente
Ada Java Ada Java

Strumenti

Per compilare il sorgente Ada fornito negli esempi si può usare GNAT (GNU Ada Translator) nella versione per la piattaforma desiderata.
Il comando di compilazione nella sua versione più semplice è: gnatmake, invocato con il nome dell'unità principale come parametro, il quale produce un eseguibile con lo stesso nome.
A chi volesse approfondire la struttura del runtime GNAT per applicazioni Ada e la natura delle relative problematiche, consiglio la lettura di: "A Detailed Description of the GNU Ada Run Time", di Javier Miranda, dell'Università delle Isole Canarie, Spagna.