Hallo,
Bei der Episode "..... es funktioniert, aber ich weiß nicht warum" musste ich lachen.
dann haben wir ja schon ein gutes Etappenziel erreicht.
Der Link mit der Beschreibung der Array-Erstellung
Linkbeschreibung
Ach da. Danke.
Okay, der Code an sich enthält tatsächlich keine Kommentare. Aber der Text beschreibt IMO deutlich genug, was da passiert, so dass ich nun nicht mehr der Ansicht bin, dass man da nachbessern müsste: "Das Beispiel definiert zunächst ein Array a mit 4 Elementen."
Ob man diese 4 Elemente nun als Zeilen oder Spalten auffassen mag, sei jedem selbst überlassen; ich würde aber zu den Zeilen tendieren, wenn ich mir die entstehende Datenstruktur so vorstelle.
Es handelte sich um ein von der Firma WANG (im damaligen Jargon: Wo Andere Noch Grübeln) angepasstes BASIC - 70er Jahre.
BASIC war auch für mich die erste Programmiersprache, die ich überhaupt gelernt habe - in den frühen 80er Jahren. Das war die Zeit, in der "alle einen Computer hatten, nur ich nicht". Zu Weihnachten 85 habe ich mir dann von ein paar lieben Verwandten Geld schenken lassen, selbst vom Sparbuch noch was draufgelegt und mir "endlich" einen C64 geleistet. Den habe ich aus Nostalgie immer noch, und als ich ihn zuletzt vor schätzungsweise drei Jahren mal wieder aus dem Schrank geholt habe, funktionierte er sogar noch. :-)
Ich erinnere mich übrigens diffus, dass Array-Indexe auch in BASIC ab 0 zählen. Mit der Anweisung
DIM A(10)
erzeugte man ein Array mit 11 (ja, 11) Elementen, die von 0 bis 10 indiziert waren.
Das mit der unzulässigen Null hatte auch Vorteile. Wenn man also irgenwo einen Index ausgelesen hat und das Ergebnis war "0" führte das zwangsläufig zum Fehler. Man war also gezwungen, vor jedem Zugriff zu einer Tabelle zu prüfen, ob der Index nicht "0" war und dann entsprechende Maßnahmen ergreifen.
Klar, aber das Problem hat man im Grunde genommen in jeder Programmiersprache: Überall müssen Daten auf Gültigkeit und Plausibilität überprüft werden. Die Tatsache, dass 0 ein ungültiger Wert ist, kann ein Vorteil beim Debuggen sein, weil nicht initialisierte Variablen häufig den Anfangswert 0 haben und logische Fehler deshalb vielleicht eher auffallen.
So long,
Martin