Die prozedurale Programmierung ist ein Programmieransatz, der einer der Grundbausteine für viele andere Sprachentwürfe ist (funktional ist keiner).
Die meisten Sprachen fallen in die Gruppe der "prozeduralen Programmierung" und es ist wahrscheinlich der natürlichste Entwurfsansatz für die meisten Menschen (wenn Sie in Bezug auf OO denken, dann würde ich sagen, dass Sie in einer Minderheit sind).
BASIC ist prozedural.
Wie andere bereits gesagt haben, handelt es sich um einen Mechanismus zur sequentiellen Strukturierung von Programmen.
- Zuerst mache ich x
- Zweitens mache ich y
- Drittens mache ich Z
Es ist ein Mechanismus zum Definieren von "Prozeduren" erforderlich - Blöcke mit benanntem Code, die OO-Methoden ähneln, die Null bis viele Parameter akzeptieren und optional einen Wert zurückgeben (der dann im Allgemeinen als Funktion bezeichnet wird - was möglicherweise zu einer Verwechslung mit funktionalen Sprachen führt )
Das Paradigma gibt nicht vor, was Sie tun oder wie die Dinge herumgereicht werden.
Es wird lediglich beschrieben, dass das Programm als eine Reihe von Prozeduren (oder Funktionen) strukturiert ist, die nacheinander ablaufen. Die Daten werden dann unabhängig von den Prozeduren definiert.
Dies unterscheidet sich von der objektorientierten Programmierung, bei der das Programm anhand von Datensammlungen und Methoden (nicht Funktionen) strukturiert wird, die auf diese Daten einwirken.
Eine Möglichkeit, darüber nachzudenken, ist der Umfang der Daten.
In einer prozeduralen Sprache ist das Scoping ziemlich einfach. Eine Variable kann sich im Gültigkeitsbereich einer bestimmten Prozedur (lokal deklariert) befinden, bis zu der Ebene, in der das Zeug als erstes aufgerufen wird (global deklariert), wobei verschachtelte Gültigkeitsbereiche dazwischen liegen.
In einer objektorientierten Sprache fügen Sie einen neuen Gültigkeitsbereichskontext hinzu, nämlich den des aktuell verwendeten Objekts, der zu dem obigen orthogonal ist.
Eine andere Möglichkeit, prozedural im Vergleich zu objektorientiert zu denken, besteht darin, eine objektorientierte Sprache zu betrachten, in der alle Methoden als statisch deklariert werden müssen . Das Ergebnis ist eine prozedurale Sprache, in der mithilfe von Klassen Prozeduren zusammengefasst werden können.