50 Jahre BASIC Das Spaghetticode-Monster wird 50

Redakteur: Franz Graser

Am 1. Mai 1964 wurde das erste Programm in der Sprache BASIC geschrieben. Die Programmiersprache sollte Einsteigern den Umgang mit Computern erleichtern. Ihre große Ära kam mit den Heimcomputer-Boom der späten siebziger und frühen achtziger Jahre.

Firmen zum Thema

Der Startbildschirm des Commodore 64: So haben die meisten Computer-User in den achtziger Jahren die Programmiersprache BASIC kennengelernt.
Der Startbildschirm des Commodore 64: So haben die meisten Computer-User in den achtziger Jahren die Programmiersprache BASIC kennengelernt.
(Bild: gemeinfrei / CC0 )

Schon der Name BASIC ist Programm. Das Kürzel steht für „Beginner's All-Purpose Symbolic Instruction Code“, also „Symbolischer Allzweck-Befehlscode für Anfänger“.

Genau darum geht es den Professoren John Kemeny und Thomas Kurtz vom Dartmouth College in Hanover, New Hampshire: Auch Nicht-Spezialisten sollten die Möglichkeit haben, Computer zur Lösung ihrer Aufgaben zu nutzen. Kemeny und Kurz waren sich klar darüber, dass die Informationstechnik in Forschung und Lehre enorme Hilfe leisten konnte. Aber um dieses Potenzial nutzen zu können, war es notwendig, die Einstiegsschwelle enorm zu senken.

Am 1. Mai 1964 war es schließlich soweit. Die beiden Informatiker riefen um vier Uhr morgens ihr erstes selbstgeschriebenes BASIC-Programm auf. Es lief auf einem GE-225-Computer von General Electric und bestand aus drei Zeilen:

10 LET X = (7+8)/3
20 PRINT X
30 END

Das Programm war für jeden lesbar, der mathematische Grundkenntnisse besaß. In der ersten Zeile wird der Variablen X der Term (7+8)/3 zugeordnet, die zweite Zeile gibt den resultierenden Wert 5 aus und die letzte Zeile beendet das kleine Programm. Die Zeilennummern strukturieren den Ablauf. In einer Zeit, in der die Interaktion mit Computersystemen größtenteils über Lochkarten abgewickelt wurde, war dies eine kleine Revolution.

Der Pferdefuß: Anfang der sechziger Jahre besaßen Privatleute keine Computer. Allerdings war es kurz zuvor möglich geworden, dass sich verschiedene Anwender die Rechenzeit an Mainframe-Rechnern teilen konnten. Dieses sogenannte Timeshare-Verfahren erlaubte es mehreren Usern, über Terminals auf den Computer zuzugreifen. Diese Terminals waren ursprünglich abgewandelte Fernschreiber. Ende der sechziger Jahre kamen schließlich Terminals auf, die mit Bildschirmen ausgestattet waren.

„BASIC demokratisierte zusammen mit dem Timesharing den Umgang mit Computern“, kommentiert heute Professor Tom Cormen vom Dartmouth College die Leistung der Pioniere Kemeny und Kurtz. „Durch Timesharing bekamen die Leute Zugang zu einem Computer. Und dank BASIC konnten sie eigene Programme schreiben.“

Solche Timesharing-Terminals wurden auch in öffentlichen Schulen der USA eingerichtet. An einem solchen Terminal erlernte zum Beispiel Bill Gates die Grundlagen der Computerprogrammierung.

Durchbruch durch Home-Computer

Den Durchbruch erfuhr BASIC allerdings erst Ende der siebziger Jahre mit dem Aufkommen der Home-Computer. Praktisch alle Heimcomputer von Apple, Atari, Tandy, Sinclair, Commodore und Amstrad/Schneider waren mit BASIC-Varianten ausgestattet. Diese BASIC-Dialekte waren jedoch in Teilen zueinander inkompatibel. Das lag daran, dass die einzelnen Rechnermodelle unterschiedliche Hardwarefähigkeiten hatten, die jeweils mit eigens dafür entwickelten Befehlen angesprochen werden konnten.

So verfügte der Commodore 64 lediglich über einen eingeschränkten BASIC-Befehlssatz. Um die Grafikfähigkeiten des Rechners zu nutzen, mussten die Anwender über den Befehl POKE die gewünschten Bit-Werte direkt in den Videospeicher schreiben, wenn sie ein Pixel erscheinen lassen wollten. Der konkurrierende Amstrad/Schneider CPC verfügte dagegen über umfangreiche Befehle wie DRAW und CIRCLE, mit denen am Bildschirm Linien oder Kreise gezogen und eingefärbt werden konnten. Die Programmierung mathematischer Diagramme war somit auf dem Schneider sehr viel intuitiver möglich als auf dem Commodore-Rechner. Das BASIC des Commodore Amiga schließlich besaß einen Sprachsynthese-Befehl: Über das Kommando SAY ließ sich jeder String als gesprochene Sprache ausgeben (wenn auch in einer sehr künstlichen Qualität mit stark amerikanisch eingefärbtem Akzent).

Trotz des Erfolges fehlte es nicht an Kritikern, die über BASIC die Nase rümpften. Ein Problem war, dass die BASIC-Dialekte jener Zeit ähnlich der heutigen Skriptsprachen interpretierte Sprachen waren. Es war also nicht notwendig, ein Programm zu kompilieren, bevor man es startete. Das vereinfachte zwar die Programmierarbeit. Weil aber ein Programm erst bei der Abarbeitung in die Maschinensprache übersetzt wurde, wurde das Programm naturgemäß langsamer abgearbeitet als eines, dass nach dem Kompilieren bereits in Maschinensprache vorlag.

Ein weiteres Problem stellte der oft verspottete Spaghetticode dar. BASIC bot die Möglichkeit, über den GOTO-Befehl zu einer bestimmten Programmzeile zu springen und die Programmbearbeitung dort fortzusetzen. Deshalb konnte es leicht vorkommen, dass die Struktur des Programms gar nicht mehr lesbar war. Beide Kritikpunkte – die relativ langsame Abarbeitung und das Spaghetticode-Argument – trugen dazu bei, dass BASIC im Profi-Lager der Entwickler immer etwas mitleidig bis spöttisch betrachtet wurde. Universitäten bevorzugten zu dieser Zeit die Sprache Pascal, da sie den Studierenden einen strukturierten Programmierstil nahelegte.

Zudem gab es de facto keinen BASIC-Standard. Die Implementierungen auf den Home-Computern wichen wegen der unterschiedlichen Hardware-Fähigkeiten zum Teil stark voneinander ab. Das Microsoft-BASIC, das mit dem PC-Betriebssystem MS-DOS mitgeliefert wurde, war zwar weit verbreitet. Es spielte aber hierzulande für die Hobbyisten jener Zeit kaum eine Rolle, da die IBM-kompatiblen Rechner in den achtziger Jahren für die meisten Privatanwender unerschwinglich teuer blieben.

Mit dem Siegeszug von Windows in den neunziger Jahren begann auch der Erfolg von Microsofts Visual Basic. VB erlaubte vielen Mitarbeitern in den Fachabteilungen von Unternehmen, einfache Windows-Programme zu schreiben, die sie bei ihrer täglichen Arbeit unterstützten. Auf diese Weise entstanden zum Beispiel selbstgestrickte Datenbanklösungen oder Tools für die Abrechnung von Reisekosten. Vermutlich wurden mit Hilfe von Visual Basic (kurz VB) auch zahllose private Videokassetten- und CD-Sammlungen archiviert. Im zurückliegenden Jahrzehnt baute Microsoft VB zudem zu einer Sprache um, die objektorientierte Konzepte umsetzt und die auf der Basis der Ablaufumgebung Common Language Runtime (CLR) läuft. Damit ließ sich die Abarbeitung der VB-Programme erheblich beschleunigen.

Der Siegeszug von Windows machte Visual Basic (VB) zu der erfolgreichsten BASIC-Variante, da sich damit auf sehr einfache Weise Windows-Programme erstellen lassen. Die späteren Versionen von VB griffen auch objektorientierte Konzepte auf.
Der Siegeszug von Windows machte Visual Basic (VB) zu der erfolgreichsten BASIC-Variante, da sich damit auf sehr einfache Weise Windows-Programme erstellen lassen. Die späteren Versionen von VB griffen auch objektorientierte Konzepte auf.
(Bild: Microsoft)

Visual Basic ist heute der mit Abstand populärste BASIC-Dialekt und belegt auf der TIOBE-Hitliste der Programmiersprachen den sechsten Platz. Daneben existieren aber zahllose weitere Varianten für verschiedene Einsatzzwecke und Systeme. Ein interessantes Beispiel ist PureBasic, eine Programmierumgebung, die für schnelle Grafikanwendungen und die Spieleentwicklung ausgelegt ist. Daneben gibt es Gambas, eine Sprache, die Visual Basic sehr ähnlich ist und unter Linux läuft.

Einige Ideen des ursprünglichen BASIC leben aber auch in Python weiter, einer interpretierten Sprache, die für viele Systeme verfügbar ist – sogar für den Raspberry Pi. Wie im Original-Basic bedarf es in Python nur einer Befehlszeile, um die Botschaft "Hallo, Welt!" auf den Bildschirm zu bringen. Auch die Syntax der FOR-Schleife entspricht in Python dem BASIC-Original. Zudem sind Python-Programme sehr gut lesbar und deshalb für Einsteiger leicht nachzuvollziehen. Immerhin wurde das Spaghetticode-Gespenst (zumindest im Prinzip) ausgetrieben, da sich Python-Programme in sehr gut überschaubare Blöcke einteilen lassen. Insofern könnte man Python als den eigentlichen Erben der Idee der Professoren Kemeny und Kurtz ansehen.

Mit Material von dpa

(ID:42667623)