• Non ci sono risultati.

LINGUAGGI DI PROGRAMMAZIONE AD ALTO LIVELLO

N/A
N/A
Protected

Academic year: 2021

Condividi "LINGUAGGI DI PROGRAMMAZIONE AD ALTO LIVELLO"

Copied!
1
0
0

Testo completo

(1)

LINGUAGGI DI PROGRAMMAZIONE AD ALTO LIVELLO

Linguaggio Macchina (anni '50), linguaggio binario.

Assembly (codici mnemonici corrispondenti alle istruzioni macchina)

Vi sono 3 paradigmi di programmazione principali: Imperativo, Logico e Funzionale (Logico e funzionale sono anche visti come molto simili tra loro, e vengono anche detti 'dichiarativi').

IMPERATIVO LOGICO FUNZIONALE

(Modello calcolo astratto per architettura von Neumann)

FORTRAN “FORmula TRANslation” LISP

(Calcolo Scientifico) 1957 “LISt Processor” 1958

J. Backus (IBM) J. McCarthy

(Lambda Calcolo)

COBOL (Data processing) 1959 “Intelligenza Artificiale”

PASCAL (1970) PROLOG (1971)

(Programmazione PROgramming in LOGic

Strutturata, Blocchi) (Horn Clause Logic) Smalltalk (1972)

Linguaggio O.O. Puro.

Tipi dinamici.

C (1973) ML (1973)

(Programmazione di Sistema. MetaLanguage

UNIX) Controllo tipi polimorfi

Theorem Proving.

ADA (1980)

(Difesa USA-avionica) Gestione eccezioni.

Controllo tipi forte.

C++ (Programmazione O.O.) CLP(X) (1984)

(1983) (Constraint Logic Programming)

Python (1991) Haskell (1990)

Tipi dinamici

Linguaggio di scripting e per bioinformatica.

PHP (1994)

“Hypertext PreProcessor”.

Linguaggio di scripting per

pagine web dinamiche. Maude(1998)-Illinois Curry (1999)-Kiel+Oregon

JAVA (1996) Progr. Logica+Funzionale

Riferimenti

Documenti correlati

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

dichiarativa (controllo di sequenza) (calcolo di relazioni) (calcolo di funzioni) Semantica Funzione Livello di astrazione Livello di astrazione.. Input/Output maggiore rispetto

Legge in modo corretto e quasi sempre scorrevole frasi, didascalie, semplici testi e ne comprende le informazioni principali. Scrive sotto dettatura e in discreta autonomia

• 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

• Nota: vere funzioni (== chiusure), non puntatori a funzione (in cui manca ambiente!). • Esempio: funzione derivata per

● Higher order: funzioni sono first-class e sono passate come ogni altro dato. ● Gestione automatica

Ma siccome stiamo valutando l’equivalenza dei due comandi if nel senso di un utilizzo alternativo degli stessi (nello stesso istante), qualsiasi scelta venga effettuata tra c 0 e c