Was ist deklarative Programmierung?
Deklarative Programmierung ist eine Methode, um anzugeben, was ein Programm tun soll, anstatt anzugeben, wie es getan werden soll. Die meisten Computersprachen basieren auf den zur Lösung eines Problems erforderlichen Schritten. Einige Sprachen geben jedoch nur die wesentlichen Merkmale des Problems an und überlassen es dem Computer, den besten Weg zur Lösung des Problems zu finden. Die ersteren Sprachen sollen die imperative Programmierung unterstützen, während die letzteren die deklarative Programmierung unterstützen.
Das folgende Beispiel aus SQL zeigt, wie aus den Verkaufsdaten alle Verkaufsregionen ermittelt werden, in denen der Gewinn eine bestimmte Zahl überschreitet, z. B. 700 US-Dollar (USD).
Wählen Sie Region, Profit from Sales mit Profit> 700
Diese Anweisung gibt nicht an, was das SQL-System tun muss, um die Daten abzurufen. Das SQL-System kann jeden Verkaufsdatensatz durchgehen und feststellen, ob die Bedingung erfüllt ist, oder es kann schnell die ersten Datensätze aus vorsortierten Daten abrufen. Die Angabe gibt nur die Art der gewünschten Daten an.
Prolog ist eine deklarative Programmiersprache, die die logischen Beziehungen zwischen Entitäten angibt.
Vorfahr (M, C): - Mutter (M, C)
Ahne (X, Z): - Mutter (X, Y), Ahne (Y, Z)
Das obige Programm zeigt Binsenweisheiten an. Wenn M die Mutter von C ist, dann ist M ein Vorfahre von C. Wenn X die Mutter einer Person Y ist, die ein Vorfahre von Z ist, dann ist X ein Vorfahre von Z. Angesichts dieser und einiger Mutter-Kind-Tatsachen ist das Programm kann Fragen zum gesamten Stammbaum der Mutter beantworten.
Während der Programmausführung baut das Prolog-System eine Reihe wahrer Anweisungen auf und erstellt so eine Wissensdatenbank. Diese Wissensdatenbank wird von sich aus effizient durchsucht. Der Ersteller des obigen Programms gibt nicht an, wie gesucht werden soll.
HTML und CSS sind deklarative Programmiersprachen. Das HTML-Beispiel <table border = "1"> zeigt beispielsweise einen dünnen Rand an. Ein CSS-Beispiel ist color: blue . Dies gibt die Textfarbe an. Wie in diesen Beispielen zu sehen ist, geben HTML und CSS an, was auf einer Webseite angezeigt werden soll, nicht jedoch, wie dies geschehen soll.
Der Vorteil deklarativer Programmiersprachen besteht hauptsächlich in zweierlei Hinsicht. Die Programme sind prägnant; Dies macht es auch Nicht-Programmierern leicht, Lösungen zu erhalten. Im obigen SQL-Beispiel kann ein Analyst oder eine Person des Business Support die gewünschten Informationen erhalten. Ebenso können Laien akzeptable Webseiten mit einfachen HTML- und CSS-Befehlen schreiben.
Der zweite Vorteil des deklarativen Programmiermodells besteht darin, dass im Hintergrund des Computersystems repetitiver Imperativcode bereitgestellt wird, der angibt, wie die Dinge zu lösen sind. Solch ein Code kann hocheffizient gemacht werden und die besten Ideen aus dem Computing einfließen lassen. Es kann die Parallelität ausnutzen.