• Non ci sono risultati.

Linguaggi di Programmazione I: Paradigmi programma del corso e testi di consultazione Introduzione e nozioni preliminari –

N/A
N/A
Protected

Academic year: 2021

Condividi "Linguaggi di Programmazione I: Paradigmi programma del corso e testi di consultazione Introduzione e nozioni preliminari –"

Copied!
2
0
0

Testo completo

(1)

A.A. 2001-02

Linguaggi di Programmazione I: Paradigmi

programma del corso e testi di consultazione

Introduzione e nozioni preliminari

– Evoluzione storica e concettuale dei linguaggi di programmazione [Wat90(1)]

1

– Sintassi e semantica [disp(1)]

– Induzione strutturale e sintassi astratta [darm(2, 4)]

Aspetti dinamici

– Binding statico e binding dinamico [disp(2), Wat90(4)]

– Il paradigma funzionale

• Valutazione lazy e valutazione eager [disp(3)]

• Semantica di un (mini) linguaggio funzionale [disp(4)]

– Il paradigma imperativo

• Le locazioni [disp(5)]

• Meccanismi di passaggio dei parametri (valore, reference e nome) [disp(6)]

• Semantica di un (mini) linguaggio Algol-like [disp(6)]

Aspetti statici – Tipi [disp(7)]

– Sistemi di tipi del prim’ordine per linguaggi funzionali ed imperativi [Wat90(7)]

– Inferenza dei tipi per mini-ML [disp(8)]

– Il polimorfismo [disp(9), Wat90(7.3)]

• Sistemi di tipi del secondo ordine [disp(10)]

• Polimorfismo in ML [disp(11)]

Moduli di programma

– Tipi esistenziali: incapsulamento ed astrazione [disp(???)]

– Moduli di definizione e di implementazione in Modula-2 [WE87(12)]

– Segnature, Strutture e Funtori in ML [Metal97(3)]

1

Le sigle corrispondono a quelle usate nella homepage del corso alla voce: Materiale

e testi di consultazione. Eventuali numeri tra parentesi tonde indicano il capitolo.

(2)

Classi ed oggetti

– Sottotipi ed inferenza per sottotipi [disp(???)]

– Classi (sottoclassi, classi astratte, metaclassi) in Smalltalk [Wat90(12)]

– Classi (sottoclassi, classi astratte ed interfacce) in Java [AG98(2,3)]

Astrazione e mascheramento – Tipi di astrazione [Wat90(5.1)]

– Astrazione di tipi (in ML) [Metal97(2.7)]

– Tipi opachi

• nel sistema dei moduli di ML [Metal97(3)]

• in Modula-2 [WE87(12)]

– Mascheramento in Java (public, private, protected. . . ) [AG98]

– Genericit` a [Wat90(6.4)]

Riferimenti

Documenti correlati

[r]

Eventuali numeri tra parentesi tonde indicano

[r]

1 Si consiglia la lettura del capitolo 5

Dunque, usando un tale termine, si dovrebbe poter scrivere in F 2 un termine che, se strippato ed eseguito con la semantica del lambda calcolo, va

Esercizio “Dijkstra’s dutch flag problem” : data una lista di elementi colorati ‘rosso’ ‘bianco’ ‘blu’, riordinare la lista in modo che tutti gli elementi rossi

• Richiede tuttavia di un processo di traduzione da Assembly a linguaggio macchina, ma a differenza dei linguaggi ad alto livello la corrispondenza è 1:1 (ad ogni istruzione

 Atipici: es: i fogli elettronici possono essere considerati linguaggi di programmazione in cui, in una certa misura, le relazioni temporali sono sostituite da relazioni spaziali