Prozedurale Programmierung vs. Imperative Programmierung?



  • Ich habe mir jetzt gerade die beiden deutschen WP Artikel zu dem Thema durchgelesen, aber mir wird der Unterschied zwischen beiden nicht ganz klar.

    Zwar ist mir nun klar, was eine Prozedurale Programmierung ist.
    Also nichts anderes als eine Strukturierte Programmierung (Sequenzen, Verzweigungen, Schleifen) deren Code noch weiter durch Prozeduren (in Form von C Programmcode verstehe ich darunter z.B. C Funktionen) aufgeteilt bzw. erweitert werden kann.

    Aber wo beginnt hier die Imperative Programmierung?
    Der WP Artikel ist dazu leider nichtssagend und ziemlich widersprüchlich.



  • Afaik ist prozedural eine Untermenge von imperativ.
    "Imperativ" besagt, daß das Programm aus einzelnen Anweisungen besteht, die nacheinander abgearbeitet werden (im Gegensatz zu deklarativen Sprachen, wo du nur beschreibst wie das Ergebnis aussehen soll). Bei prozeduralen Sprachen liegt ein Schwerpunkt auf die Strukturierung der Programme in logische Einheiten (Prozeduren/Funktionen), die sich gegenseitig nutzen. Es gibt allerdings auch Sprachen, die ohne so eine Struktur auskommen - aus eigener Erfahrung fällt mir da z.B. C64 BASIC ein.



  • Imperativ heißt, dass du dein Algorithmus als Folge von Anweisungen an den Prozessor formulierst. Im Gegensatz zu Sprachen in denen man das Problem, z.B., als Sammlung logischer Aussagen/Axiome und zu beweisender Theoreme formuliert (logische Programmierung). Oder als mathematische Funktionen (funktionale Programmieren)

    Und ich habe sicher etwas vergessen, aber das sind die "gängigen" drei (wobei nur eine davon wirklich gängig ist, die anderen beiden sind schon sehr speziell).



  • Eigentlich müßte dir Frage Deklarativ VS Imperativ sein.

    Imperativ = Beschreibe wie etwas gelöst wird
    Deklarativ = Beschreibe was gelöst wird.

    In der Regel sind prozeduale Programmiersprachen Imperativ, zumindest ist mir nichts anderes bekannt.


Anmelden zum Antworten