• Non ci sono risultati.

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
2
0
0

Testo completo

(1)

A.A. 2002-03

Linguaggi di Programmazione I: Paradigmi

programma del corso e testi di consultazione

Introduzione

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

1

Nozioni preliminari

– Sintassi concreta e sintassi astratta [disp(1)]

– Semantica statica e dinamica [disp(2)]

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

Aspetti dinamici

– Il paradigma funzionale

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

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

– Il paradigma imperativo

• Le locazioni [disp(6)]

• Il passaggio dei parametri (valore, reference e nome) [disp(7)]

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

– Il paradigma ad oggetti [disp(13)]

• Gli oggetti: binding statico o dinamico?

• Semantica dinamica di Mini-Java

Aspetti statici

– Semantica statica [disp(8)]

– Tipi del prim’ordine [Wat90(7)]

• Inferenza dei tipi per mini-ML [disp(9)]

• Sottotipi: Inferenza dei tipi per mini-Java [disp(13)]

– Tipi del secondo ordine [disp(10), Wat90(6.4,7.3)]

• Il polimorfismo [disp(11)]

• Polimorfismo in ML [disp(12)]

• Tipi generici in Java [disp(?)]

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)

Meccanismi di astrazione – Tipi di astrazione [Wat90(5.1)]

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

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

– Moduli di programma

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

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

Epilogo

– Una mappa concettuale (linguaggi, logica, algebra e modelli) [disp(?)]

Riferimenti

Documenti correlati

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

[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

• 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