Was bedeutet "deklarativ"?

3 Antworten

Ein Programm ist imperativ, wenn es aus einer Liste von Anweisungen besteht, die nacheinander ausgeführt werden sollen. Ein Programm ist deklarativ, wenn man angibt, wie das Endresultat aussehen soll, und nicht, wie man es ermittelt.

Ein Beispiel: Um mit Java Swing eine graphische Benutzeroberfläche zu erstellen, musst du Widgets erzeugen, nacheinander in einem Layout anordnen und schließlich rendern. Bei einer HTML-Seite hingegen wird deklarativ angegeben, wie die Seite aussehen soll. Wie der Browser bei der Darstellung der Seite genau vorgeht, ist unwichtig.

Ein anderes Beispiel: Um alle Primzahlen zwischen 1 und 100 zu ermitteln, kann man eine for-loop verwenden:

primes = []
for n in range(1, 100):
    if is_prime:
        primes.append(n)

Hier wird die Liste nach und nach mit der append-Funktion aufgebaut. Python hat allerdings ein nettes Feature namens "list comprehensions", womit sich das eleganter lösen lässt:

primes = [n for n in range(1, 100) if is_prime(n)]

Das würde ein Mathematiker so lesen:

primes ist die Liste aller natürlichen Zahlen n zwischen 1 und 100, für die gilt: n ist eine Primzahl.

Das ist also schon deklarativer als die for-Schleife.

Das kommt auf den Zusammenhang an, den du ja leider nicht nennst. Das deklarative Gedächtnis z.B. ist das Wissensgedächtnis.

Aber wozu gibt es Google? Schau doch einfach nach!


Animefan1905 
Beitragsersteller
 03.08.2021, 11:04

deklarative Programme (sorry, dass ich es nicht erwähnt habe)