Programmazione funzionale

La programmazione funzionale è un paradigma della programmazione informatica basata sulla valutazione delle espressioni e delle funzioni.

Nota. Un esempio di linguaggio di programmazione funzionale è l'OCaml.

Come funziona

Nella programmazione funzionale il programma è composto da un insieme di funzioni.

Durante l'esecuzione il programma calcola il valore di ciascuna funzione e di ciascuna espressione, riducendola al valore più sintetico possibile.

Lo stesso programma può essere considerato come una funzione di funzioni.

L'assenza di effetti collaterali

Nella programmazione funzionale non ci sono effetti collaterali (side-effect).

Detto in modo più semplice, le funzioni sono gli elementi fondamentali della programmazione funzionale e non le variabili.

Il paradigma della programmazione funzionale non nasce per assegnare dei valori a delle variabili, bensì per calcolare il valore delle funzioni.

A sua volta una funzione può diventare anche l'argomento di un'altra funzione.

Nota. In realtà molti linguaggi di programmazione funzionale prevedono anche l'assegnazione di valori alle variabili in modo simile a un linguaggio imperativo. Quindi, anche nella programmazione funzionale è possibile ottenere effetti collaterali. Si tratta però di eccezioni da evitare perché penalizzano lo stile e l'efficienza del programma. Gli stessi risultati si possono ottenere usando le funzioni.

Il lambda calcolo

Alla base di molti linguaggi della programmazione funzionale c'è il lambda-calcolo.

Cos'è il lambda-calcolo?

E' un sistema formale per calcolare il valore delle funzioni e delle espressioni.

Le differenze tra programmazione funzionale e procedurale

Le principali differenze sono le seguenti

  • Nella programmazione funzionale l'assegnazione di valori alle variabili non è importante. Le variabili sono sostituite dalle funzioni.
  • Nella programmazione funzionale non ci sono strutture di controllo per realizzare dei cicli. Si utilizza prevalentemente la ricorsione delle funzioni.
  • Un programma funzionale è composto da meno righe di codice. E' più compatto.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base
  1. La programmazione
  2. Gli algoritmi
  3. Il linguaggio macchina
  4. Cos'è uno pseudocodice
  5. I programmi informatici
  6. Le variabili
  7. Gli array
  8. Le espressioni
  9. Le strutture di controllo
  10. Le routine
  11. Le funzioni