VB - 3: Strukturen

Was heißt denn hier Spaghetti?

Visual Basic basiert - wie der Name schon sagt - auf BASIC (Beginners Allpurpose Symbolic Instruction Code), eine Sprache, die in den 60er Jahren aus dem Wunsch entstanden ist, Einsteigern eine leicht erlernbare Sprache zur Verfügung zu stellen, im Gegensatz zu den etwas älteren, aber etwas komplizierteren (und damals leistungsfähigeren) Sprachen Fortran und Algol.

Basic wurde im Laufe der Jahre sehr stark weiterentwickelt, so gibt/gab es verschiedene "Dialekte" (z.B. SoftBasic, GWBasic, QBasic/QuickBasic, PowerBasic), die je nach Bertiebssystem oft schon zur Grundausstatung gehörten. Anfangs gab es nur relativ wenige Befehle (Schlüsselwörter/Keywords), die zur Verfügung standen, aber auch deshalb schnell zu erlernen waren. Der grundsätzliche Ablauf eines solchen "Ur"-Basic-Programmes war immer gleich:

       Start
       Befehl 1
       Befehl 2
       ...
       Befehl x
       Ende
 

Es gab zwar die Möglichkeit, eine Anweisung zu überspringen, wenn eine bestimmte Bedingung nicht erfüllt war,

       Start
       Befehl 1
       Wenn A=x dann
       Befehl 2
       sonst Befehl 3
       ...
       Befehl x
       Ende
 

aber der Aufruf von Unterprogrammen oder Kreuz- und Quersprünge kamen erst später. Wenn viele Befehle abzuarbeiten waren, entstand so eine lange Liste, was Basic-Programmen allgemein die Bezeichnung "Spaghetti-Code" einbrachte.

Das ist inzwischen längst anders! Unterprogramme (Subroutinen/Funktionen) brachten die Möglichkeit, Befehlsfolgen, die mehrfach vorkamen, nur einmal zu schreiben und dann von verschiedenen Stellen des Programms darauf zurückzugreifen. Die Spaghettis sind also inzwischen schon ziemlich verworren .

Spätestens seit Erscheinen von VB ist der endgültige Ablauf eines Programmes nicht immer direkt vorherzusagen...

zurück Index weiter


© Copyright 1998-2000 J.Behling EMail schreiben ABC-Ware's Homepage
Weitergabe und Druck (auch in Teilen, mit Ausnahme von Privatgebrauch) ohne ausdrückliche Genehmigung der Autorin untersagt.