Programmazione dichiarativa

In informatica, la programmazione dichiarativa è un paradigma di programmazione secondo cui la logica della computazione viene espressa senza descrivere il suo controllo di flusso.[1]

Molti linguaggi che applicano questo stile mirano a minimizzare o eliminare eventuali effetti collaterali descrivono che cosa il programma deve compiere in termini dello specifico dominio del problema, piuttosto che descrivere come compierlo sotto forma di una sequenza di primitive;[2] il "come" viene lasciato all'implementazione del linguaggio. Questo è in contrapposizione con la programmazione imperativa, che implementa algoritmi descritti esplicitamente nei loro passaggi.[3]

La programmazione dichiarativa spesso considera i programmi come teorie di logica formale che definiscono un certo spazio logico, all'interno del quale le computazioni sono considerate delle deduzioni. Questo paradigma può permettere una grande semplificazione nella scrittura di programmi di calcolo parallelo.[4]

Alcuni linguaggi dichiarativi comuni sono i linguaggi di interrogazione (come SQL, XQuery), le espressioni regolari, la programmazione logica (come Prolog, Datalog, answer set programming), la programmazione funzionale, e i sistemi di gestione di configurazioni.

  1. ^ (EN) J. W. Lloyd, Practical Advantages of Declarative Programming.
  2. ^ (EN) declarative language, su FOLDOC, 17 maggio 2004. URL consultato il 7 settembre 2023.
  3. ^ (EN) Robert Sebesta, Concepts of programming languages, Boston, Pearson, 2016, ISBN 978-0-13-394302-3, OCLC 896687896.
  4. ^ (EN) DAMP 2009: Workshop on Declarative Aspects of Multicore Programming, su cse.unsw.edu.au, 20 gennaio 2009. URL consultato il 15 agosto 2013 (archiviato dall'url originale il 13 settembre 2013).

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy