Ich habe im Internet nach einer Definition für folgende Begriffe gesucht deklarativ et Imperativ Programmierung, die mir etwas Licht ins Dunkel bringen würde. Allerdings ist die Sprache, die bei einigen der Ressourcen, die ich gefunden habe, verwendet wird, entmutigend - zum Beispiel bei Wikipedia . Hat jemand ein Beispiel aus der Praxis, das er mir zeigen könnte und das dieses Thema aus einer anderen Perspektive beleuchten könnte (vielleicht in C#)?
Dinge wie Linq können immer noch imperativ erscheinen, so dass es für Leute, die den Unterschied nicht kennen, verwirrend ist, aber Attribute sind schwer anders als deklarativ zu sehen. Sie klatschen buchstäblich kleine "Tags" auf Mitglieder, um zu deklarieren, was Sie mit ihnen machen wollen, aber Sie sagen nicht das Wie in irgendeinem Sinne. Ich kann verstehen, wie jemand sagen könnte, dass eine Linq-Abfrage immer noch eine Art "Wie" ist, weil man auf einer gewissen Ebene eine Form von Logik beschreibt, die einfach nicht so schwer ist, aber mit Attributen beschreibt man überhaupt keine Logik, man bezeichnet nur Dinge.
76 Stimmen
Imperativ geht in ein Restaurant und bestellt ein Steak (blutig gebraten), Pommes frites (mit Ketchup), einen Beilagensalat (mit Ranch) und eine Cola (ohne Eis). Der Kellner liefert ihm genau das, was er bestellt hat, und berechnet ihm 14,50 Dollar. Auf der anderen Seite, Deklarativ geht in ein Restaurant und sagt dem Kellner, dass er nur etwa 12 Dollar für das Abendessen bezahlen möchte und Lust auf Steak hat. Der Kellner kommt mit einem Steak (medium gegart), Kartoffelpüree, gedünstetem Brokkoli, einem Brötchen und einem Glas Wasser zurück. Ihm werden 11,99 Dollar berechnet.
3 Stimmen
Ein weiteres gutes Beispiel, das ich gefunden habe, ist vielleicht, wie Sie Docker-Dateien und Befehle tun... z.B. ein imperativer Ansatz ist, dass Sie alle Ihre Schritte nacheinander in der Befehlszeile definieren, z.B. erstellen Sie einen Container in aws, erstellen Sie ein Netzwerk und dann setzen Sie Ihre Ressourcen irgendwie zusammen... der DECLARATIVE Ansatz wäre dann: Sie DECLARE eine Dockerdatei (oder docker-compose.yaml), wo Sie im Wesentlichen alle Ihre Befehle (oder Sie nur benennen, was Sie wollen, dass es zu tun) innerhalb einer Datei, und dann einfach diese Datei ausführen. Seine deklariert alle auf einmal vorher, so sollte es immer ähnlich verhalten.
1 Stimmen
Sie können die Natur eines deklarativen Programms und der deklarativen Programmierung besser verstehen, wenn Sie sie als einen Konfigurations- und Konfigurationsprozess betrachten.