Left Up Right Begriffe in Programmiersprachen

Ablaufstrukturen

Sprungfunktionen

In maschinennahen Sprachen gibt es neben den Rechenoperationen das Programm wird nach der Anweisung an einer anderen Stelle fortgesetzt.

Diese gibt es auch in den höheren Programmiersprachen, es ist das berüchtigte goto.

Der unkontrollierte Einsatz führt zu sog. Spagettiprogrammen, zu deren Wartung man wirklich Talent braucht, das in den meisten Fällen noch nicht einmal der Autor aufbringt.

Stukturierte Anweisungen

Es haben sich die folgenden Muster entwickelt, die in fast allen neueren prozeduralen und natürlich in den Objektorientierten Sprachen vorhanden sind: Theortisch kann man beweisen, daß alle Spagetti-Programme in aquivalente strukturierte Programme überführt werden können.

Fehlerbehandlung

Eine gute Fehlerbehandlung gehört zu den schwierigen Sachen. Diese mit obigen mitteln strukturieren zu versuchen macht das ganze auch sehr unübersichtlich.
In solchen Fällen ist manchmal ein verpöntes goto oder ein longjmp (goto aus Funktionenhierarchien heraus) gut.

Man orientiert sich am Hardwaremodell: Wenn ein Fehler auftritt, z.B. Division durch null, dann ruft die Hardware eine Interrupt-routine auf, die vom Kontext auf der höhereren Abstraktionsebene bereitgestellt werden kann.
Falls nicht, wird eine voreingestellte genommen.

C++, Java und andere Formalisieren dies mit dem try-catch-Mechanismus, oder Exception-Mechanismus:

  class Ausnahme {};

  /*...*/
  try
  {
    /* .... */
    if(Fehler()) throw Ausnahme();
  }
  catch(Ausnahme a)
  {
    cerr << "Na so was ..." << endl;
  }
Damit werden die Programme sehr viel verständlicher und die Prozeduren wiederverwendbarer
Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber