Skip to main content

Cos'è la programmazione dichiarativa?

La programmazione dichiarativa è un modo per specificare ciò che un programma dovrebbe fare, piuttosto che specificare come farlo.La maggior parte dei linguaggi di computer si basa sui passaggi necessari per risolvere un problema, ma alcune lingue indicano solo le caratteristiche essenziali del problema e lo lasciano al computer per determinare il modo migliore per risolvere il problema.Si dice che le prime lingue supportino la programmazione imperativa mentre la seconda programmazione dichiarativa di supporto.

Si può considerare l'esempio seguente da SQL per ottenere tutte le regioni di vendita in cui il profitto supera un determinato numero, diciamo, $ 700 dollari USA (USD), dalDati di vendita.

Selezionare la regione, profitto dalle vendite in cui profitto e GT;700

Questa istruzione non indica ciò che il sistema SQL deve fare per ottenere i dati.Il sistema SQL può passare attraverso ogni record di vendita e determinare se la condizione è soddisfatta o può ottenere rapidamente i pochi record migliori da dati presortati.L'affermazione indica solo la natura dei dati desiderati.

Prolog è un linguaggio di programmazione dichiarativo che indica le relazioni logiche tra entità.

antenato (m, c):- madre (m, c)
antena:- Madre (x, y), antenato (y, z)

Il programma di cui sopra indica i truismi.Se m è la madre di C, allora m è un antenato di C. Se x è la madre di una persona y che è un antenato di z, allora x è un antenato di Z. dato questo e alcuni fatti madre-figlio, il programmapuò rispondere a domande sull'intero albero familiare materno.

Durante l'esecuzione del programma, il sistema Prolog crea una serie di affermazioni vere, creando così una base di conoscenza.Questa base di conoscenza è cerca in modo efficiente da sola.Il creatore del programma sopra non specifica come cercare.

HTML e CSS sono linguaggi di programmazione dichiarativa.Ad esempio, l'esempio HTML lt; bordo della tabella ' 1 gt; , indica un bordo sottile.Un esempio CSS è colore: blu .Questo specifica il colore del testo.Come si può vedere in questi esempi, HTML e CSS specificano cosa dovrebbe apparire su una pagina Web ma non come farlo.

Il vantaggio dei linguaggi di programmazione dichiarativa è principalmente duplice.I programmi sono concisi;Ciò rende facile anche per i non programmatori ottenere soluzioni.Nell'esempio SQL sopra, un analista o una persona di supporto aziendale può ottenere le informazioni desiderate.Allo stesso modo, Laypersons può scrivere pagine Web accettabili con semplici comandi HTML e CSS.

Il secondo vantaggio del modello di programmazione dichiarativa è quel codice imperativo ripetitivo che indica come risolvere le cose è fornito nel sistema informatico dietro le quinte.Tale codice può essere reso altamente efficiente e può incorporare le migliori idee dall'informatica.Può trarre vantaggio dal parallelismo.