BASIC

veröffentlicht von gngn am Fr., 28.09.2018 - 22:37
10 PRINT "Hello World"

Meine Programmierenden-Generation hat überwiegend mit dem Homecomputer der frühen 1980er angefangen (C64, ZX Spectrum,  TI-99/4A, KC 85/2, ....
Und da gab es überwiegend fest eingebaut eine Sprache: BASIC.

Leider hatte jeder dieser Rechner einen eigenen Basic-Dialekt, so dass ich Simons’ Basic1 zwar lesen kann, schreiben aber nur Sinclair-BASIC.

BASIC hat im allgemeinen Zeilenummern, in denen die einzelnen Anweisungen stehen. Die Zeilen werden nacheinander abgearbeitet.
Um diesen strikten Ablauf zu durchbrechen gibt es das übliche  IF ... THEN (zum Teil auch ELSE), Schleifen mit FOR und eben das berüchtigte GOTO, das direkt zu einer angegeben Zeilennummer springt. Was erst mal nach einen netten Feature klingt, führt im Endeffekt zu einer komplett unübersichtlicher Programmstruktur und damit zu kaum wartbaren Code2.

10 LET i = 0
20 LET i = i + 1
30 PRINT i; " Quadrat = "; i * i
40 IF i >= 10 THEN GOTO 60
50 GOTO 20
60 PRINT "Programm bendet"

Diese Beispiel-Programm3  macht folgendes:

  • Setze Variabel i auf 0
  • erhöhe i um 1
  • zeige i und i zum Quadrat
  • wenn i größer oder gleich 10 ist, spring nach unten (GOTO 60)
  • wenn nicht  spring wieder an den Anfang (GOTO 20)

Solch verworrener Programmablauf hat zum Begriff Spaghetti Code geführt und ist wesentlich dafür verantwortlich, dass BASIC weitgehend in der Versenkung verschwunden ist4

  • 1. Das brauchbare C64-BASIC (das Original Commode BASIC war Schrott).
  • 2. Die meisten BASIC-Dialekte kennen auch GOSUB, was zu einer Zeilennummer springt und von dort nach RETURN wieder an die aufrufende Zeile zurückspringt (also eher einem klassischen Funktionsaufruf entspricht). Grosse Verbreitung hatte aber eben GOTO ...
  • 3. Beispiel-Programm von https://de.wikipedia.org/wiki/Spaghetticode
  • 4. Micro$soft hat ihrem Visual BASIC und dem Nachfolger Visual BASIC .NET eine Art Pascalisierung spendiert (Funktionen, GOTO kann nur innerhalb einer Funktion springen) und BASIC so am Leben gehalten. Auch wenn Visual Basic nicht wirklich schön ist, könnte mensch aber darüber streiten, ob das wirklich noch BASIC ist.
Meta
Jahr
1964
Nachkommen-Sprachen
Quelle
Wikipedia (EN): BASIC
Abruf

Neuen Kommentar hinzufügen

Eingeschränktes HTML

  • Erlaubte HTML-Tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • Website- und E-Mail-Adressen werden automatisch in Links umgewandelt.