(Zuerst veröffentlicht in: RETURN Nr. 54, August 2023, S. 94-97)
Mit den Homecomputern gelangte Mitte der 1970er Jahre nicht bloß Hardware-Hochtechologie in Privathände; auch für die Programmierung der Geräte wurde eine Sprache angeboten, die erstmals eine Amateurkultur der Softwareentwicklung hervorbrachte. Das 1964 enstandene BASIC gelangte so zu einer unglaublichen Popularität, brachte zahlreiche Dialekte und unzählige Programme hervor – und wird bis heute trotz (oder wegen) all seiner Mängel weiter entwickelt und immer noch für Programmierprojekte genutzt. Dass die Erfinder ihre Sprache so einfach gestaltet hatten, dass sie auch Nicht-Informatiker lernen konnten, führte bald schon dazu, dass BASIC auch in Schulen von Kindern programmiert werden konnte.
GOTO school!
von Stefan Höltgen
In einer Kultur, die durch die Allgegenwart von Computern bestimmt ist, wie die heutige, westliche, scheint es notwendig, dass das Wissen über diese Geräte, ihren Aufbau, ihre Funktion und ihre Programmierung, zu einem Allgemeinwissen wird. Immerhin vertrauen wir Computern und den Geräten, in denen sie eingebaut sind, eine Menge an: unsere privaten Informationen, unsere heimische Sicherheit und nicht selten sogar unser Leben. Die Bedeutung von „computer literacy“, wie dieses Computerwissen ab den 1980er Jahren genannt wurde, war bereits in den 1960er Jahren bewusst, als Thomas E. Kurtz und John G. Kemeny ihre Programmiersprache BASIC entwickelten. Denn BASIC sollte vor allem denjenigen ‚intimere‘ Kenntnisse über Computer geben, die diese Geräte später allenfalls als Werkzeuge einsetzen würden: den Geisteswissenschaftlern. Der in den frühen BASIC-Versionen noch sehr überschaubare Befehlssatz (gerade einmal 17 Befehle und Funktionen enthielt das erste Dartmouth-BASIC) kam diesem Vorsatz ebenso entgegen, wie die Tatsache, dass alle Befehle aus englischen Wörtern bestanden.
Kurzt und Kemeny hatten aber noch eine zweite, wesentlich bedeutsamere Erfindung gemacht, die zusammen mit BASIC das Licht der Welt erblickte: Das „Dartmouth Thime Sharing System“ (DTSS) – eines der ersten Multitasking-Betriebssysteme für die damals erhältlichen Computer. Der Hintergrund dieser Erfindung war ebenfalls ein didaktischer: Wenn BASIC in Gruppen (wie zum Beispiel universitären Seminaren) gelernt werden sollte, müssten alle Lernenden zeitgleich Programme schreiben und testen können. Nun konnte man aber aus Kosten- und Platzgründen nicht jedem Studenten einen eigenen Computer zur Verfügung stellen. Also musste eine Anwendung entwickelt werden, die die Ressourcen eines vorhandenen Großcomputers so aufteilte, dass mehrere Nutzer ihn gleichzeitig programmieren konnten. DTSS erlaubte es, dass eine größere Anzahl Terminals (Schreibmaschinen-artige Geräte mit Lochstreifenleser/schreiber und Endlospapierausgabe) am zentralen Rechner angeschlossen werden konnte. Dieser verwaltete dann die „time slices“, die jeder Nutzer bekam, organisierte dessen Programm-Dateien sowie die Ein- und Ausgabe von Daten. Anfang der 1970er Jahre standen bereits über 150 solcher Terminals am Dartmouth-College und ermöglichten die Programmierlehre für viele unterschiedliche Studienrichtungen.
Die Schule ruft an
Immer häufiger kam es zu dieser Zeit vor, dass auch Schüler auf dem Campus gesichtet wurden, die etwas über Computer lernen wollten. Regelrechte Exkursionen wurden organisiert, damit Schulklassen in den Rechenzentren des Dartmouth College BASIC lernen konnten. Die Idee, den zentralen Computer über ein Modem an das Telefonnetz anzuschließen, führte um 1972 schließlich dazu, dass man sich nun auch einem Terminal von Klassenzimmer aus in Dartmouth einwählen konnte und dort vom Zentralrechner einen Zugang zum BASIC zur Verfügung gestellt bekam. So konnte in den Schulen der nähren und später auch ferneren Umgebung nun auch Programmieren gelernt werden. Begleitend hierzu entstanden erste didaktische Ratgeber und Schulbücher über BASIC für den Unterricht.
Im Rahmen der »Computer to the People«-Bewegung, die Ende der 1960er Jahre in der San Francisco Bay-Area aufkam, entstand die Idee Computer für alle nutzbar zu machen. Zunächst wurde dort eine Art soziales Netzwerk mit Hilfe eines ausgemusterten und von Privatleuten ans Telefonnetz gebrachten Mainframe-Rechners etabliert. Davon inspiriert, begann Bob Albrecht, der spätere Mitbegründer der „People’s Computer Company“, 1971 mit einem VW-Bus, in dessen Heck er einen DEC-PDP-8-Computer mit Terminal installiert hatte, durch die Lande zu fahren und das Gerät in Schulen vorzuführen – auch, um damit die für das System erhältlichen BASIC-Dialekte bekannt zu machen. In der Firmenzentrale von DEC wurde 1970 zum selben Zweck David H. Ahl als Manager der Bildungsabteilung eingestellt. Dort entstand auf Basis seiner Idee, einen Wettbewerb für hobbyistisch erstellte BASIC-Programme zu lancieren, die Buchreihe „101 BASIC Games“ – initiiert durch einen Schüler, der 1969, pünktlich zur Mondlandung, ein Programm, das diesen spielerisch simuliert, bei DEC einzusenden.
Problemfern und Hardwarenah
Das Aufkommen der Homecomputer ab Ende der 1970er Jahre führte schließlich dazu, dass man programmieren nun auch ohne schulisch-curriculare „Einhegung“ zu Hause lernen konnte. Die sehr „maschinennahe“ Programmierweise von BASIC (als unstrukturierte, imperative Sprache mit GOTO-Sprungbefehlen) verbunden mit einer Dialektvielfalt, die mit jedem neu erscheinenden Homecomputertyp anwuchs, führte aber bald zu Kritik. Abweichend nämlich von den ursprünglichen, didaktisch-wohlüberlegten Vorgaben der BASIC-Erfinder wurde BASIC nun interpretiert (und nicht mehr kompiliert) und damit wesentlich intuitiver programmiert. Um die Fähigkeiten der jeweiligen Plattformen ausnutzen zu können, kamen Spezialbefehle und Zugriffsmöglichkeiten auf die Hardware (via PEEK, POKE und Funktionen zur Maschinensprache-Programmsteuerung) hinzu. Es entstanden Programme nach jenem Strukturprizip, das ab 1977 als „Spaghetticode“ getauft wurde: für Menschen unlesbare Konstrukte mit Sprüngen quer durchs Programm, unkommentiert und kaum strukturiert. Die durch diesen Programmierstil ausgelöste „GOTO-Kontroverse“ (dazu in einer späteren Kolumne) entbrannte nicht nur in der Fachinformatik, sondern ergriff auch die Programmierdidaktik der 1970er Jahre.
Ein treffendes Beispiel hierfür fand in Deutschland im jahr 1977 statt: Dort wurde eine von der Deutschen Forschungsgemeinschaft (DFG) finanzierte Kommission zur Entwicklung einer Schulprogrammiersprache eingesetzt, die zugleich mit der didaktischen Kritik des inzwischen überall verbreiteten BASIC betraut war. „Hardwarenah und problemfern“ sei BASIC und wäre deshalb kaum als Programmiersprache für Schüler zu empfehlen, die etwas über Computer jenseits ihrer Hardware lernen wollten. So weit wie der Informatiker Edsger W. Dijkstra, der 1975 behauptete: „It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.” gingen die DFG-Forscher allerdings nicht, sondern empfahlen künftig entweder Pascal oder die von ihnen selbst entworfene Sprache ELAN (Educational LANguage) zu verwenden.
1980 END
Ab den 1980er Jahren verschwand BASIC daher sukzessive wieder aus den Schulen. Grund hierfür war zum einen die geschilderte Veränderung, die die Sprache in den Jahren seit ihrer Erfindung erfahren hatte; aber auch ein gewandeltes Bild von „Computer Literacy“, die nun zunächst das Erlernen von strukturiert programmierten Algorithmen in den Vordergrund stellte und wenig später bloß noch die Anwenderkenntnisse im Umgang mit Computersoftware meinte. Heutzutage ist man mit dem Wissen darum, wie man ein Office-Programm richtig bedient, wahrscheinlich auch besser fürs Leben „geschult“, als mit dem erlernen Hardware-naher Programmierung … zumindest solange, wie alles funktioniert und man nicht genötigt ist, selbst zu verstehen, wo ein (Programmier)fehler liegt.
BASIC hat aber nach einer längeren Phase in der Versenkung vor ein paar Jahren aber dennoch eine Renaissance in Ausbildungskontexten erfahren. Denn keine andere Programmiersprache hat eine deraritg vielfältige Kultur(geschichte) im Schlepptau. Aus diesem Grund wird BASIC nicht nur von vielen Hobbyisten (sogar mit neuen Dialekten) wieder programmiert, um Programmiersprachen- und Softwaregeschichte hands-on nachzuvollziehen. BASIC hat zudem Einzug in informatik- und medienhistorisch interessierte Universitätskurse gefunden. Ein Lehrbuch zu BBC-BASIC, das ich selbst 2018 herausgegeben habe, geht in Kürze in die zweite Auflage – was auch ein Beleg für diese neuerliche Relevand von BASIC sein könnte.