• Non ci sono risultati.

Linguaggi di Programmazione I: Paradigmi programma del corso e testi di consultazione docente: Dott. P. Cenciarelli (cenciarelli@dsi.uniroma1.it) 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 docente: Dott. P. Cenciarelli (cenciarelli@dsi.uniroma1.it) Introduzione e nozioni preliminari –"

Copied!
2
0
0

Testo completo

(1)

A.A. 2000-01

Linguaggi di Programmazione I: Paradigmi

programma del corso e testi di consultazione

docente: Dott. P. Cenciarelli (cenciarelli@dsi.uniroma1.it)

Introduzione e nozioni preliminari

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

1

– Astrazione sui dati e sul controllo [GJ89(2)]

– Sintassi e semantica [nota1]

– Equivalenza di programmi e metodi formali [nota1]

– Sintassi astratta e induzione strutturale [darm]

Aspetti dinamici

– Semantica di un (mini) linguaggio imperativo [edi(6)]

– Semantica di un (mini) linguaggio funzionale [edi(7)]

– Linguaggi a blocchi e variabili locali [edi(7)]

– Binding statico e binding dinamico [nota2, edi(8)]

– Meccanismi di passaggio dei parametri (valore, reference e nome) [edi(8), GJ89(3.7)]

Aspetti statici – Tipi [nota3]

– Sistemi di tipi del primo ordine per linguaggi funzionali ed imperativi [nota4]

– Inferenza dei tipi per mini-ML [nota4]

– Sistemi di tipi del secondo ordine (polimorfismo) [nota5]

– Inferenza dei tipi per poli-ML [nota5]

Moduli di programma

– Tipi esistenziali: incapsulamento ed astrazione [nota6]

– Moduli di definizione e di implementazione in Modula-2 [Set(5)]

– Segnature e Funtori in ML [M97]

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 [nota7]

– Linguaggi a classi, ad oggetti e ad attori [Set(6)]

– Classi (sottoclassi, classi astratte, metaclassi) in Smalltalk [Set(6)]

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

Riferimenti

Documenti correlati

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

le funzioni possono prendere funzioni come argomento la forma speciale lambda permette di costruire funzioni le funzioni possono restituire funzioni.. Funzioni che definiscono

• 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