- Im Herbst 1980 entdeckte ich in der siebten Klasse den neu installierten Commodore PET-Computer an meiner Schule. BASIC ermöglichte mir und meinen Freunden, erstaunliche Programme zu schreiben und erweckte das Gefühl, Zauberformeln zu beherrschen. Die Interaktivität von BASIC ermöglichte ein direktes Feedback, machte das Codieren zugänglich und förderte eine offene Programmiergemeinschaft. Trotz seiner Beschränkungen im Grafikbereich und kritisierten Elementen wie GOTO schuf BASIC eine Generation von Programmierern. BASICs Einfluss verblasste mit der Zeit, doch es legte den Grundstein für eine weitreichende Open-Source-Kultur und zugängliche Programmierung.
Im Herbst 1980 betrat ich die Miseren der siebten Klasse, als ein Freund mich in einen düster beleuchteten Raum im zweiten Stock führte. Die Schule hatte kürzlich einen neuartigen Commodore PET-Computer installiert, ein gedrungenes, kantiges Gerät, das in der Ecke leuchtete. „Du musst das ausprobieren“, sagte er und reichte mir ein handgeschriebenes Programm auf einem Stück Papier. Ich tippte es auf der klobigen mechanischen Tastatur des PET ein:
“`
10 PRINT “CLIVE”
20 GOTO 10
“`
Ich tippte “RUN”, drückte Enter und sah zu, wie mein Name in leuchtend grünem Text immer wieder über den Bildschirm rollte. Für einen 12-Jährigen in der Prä-Internet-Ära? Das war elektrisierend. Ich hatte ein paar leicht verständliche Befehle getippt, und die Maschine gehorchte. Es fühlte sich an, als hätte ich gerade das Feuer von Zeus gestohlen.
Erste Schritte mit BASIC
Ich erkannte auch, dass das kleine zweizeilige Programm eine Endlosschleife war. Der Computer würde den Code ausführen, bis die Sonne ausbrannte oder jemand ihn aussteckte. Für einen Vorschulkind gab es nicht viele Möglichkeiten, das Konzept der Unendlichkeit zu begreifen. Aber dank dieser zugänglichen Computersprache – BASIC – hatte ich es geschafft. Am nächsten Tag durchkämmten meine nerdigen Freunde und ich die Bibliothek. Wir fanden „101 Spiele in BASIC“, ein Buch mit Codes für Checker, Schiffe versenken und vieles mehr. Es war unser Necronomicon. Natürlich hatten wir von Computerprogrammierung gehört, aber nie geahnt, dass es etwas war, das Kinder machen konnten.
BASIC? Was für ein klangvoller Zauber. Es schien fast selbsterklärend – Befehle wie IF und THEN ermöglichten logische Entscheidungen, INPUT ließ den Benutzer Fragen beantworten und mit deren Antworten arbeiten. Diese Programmierung erreichte einen treffenden Mittelweg zwischen menschlichem Denken und maschineller Intelligenz.
Die Auswirkungen von BASIC
Deshalb argumentiere ich seit Langem, dass BASIC die folgenreichste Sprache in der Geschichte des Computers ist. In den 70er und 80er Jahren jagte es einen Schock durch die Teenager-Tech-Kultur. Kinder, die das Glück oder das Privileg hatten (oder beides), Zugang zu Computern zu erhalten, die BASIC ausführten – der VIC-20, der Commodore 64, ruppige Sinclair-Boxen in Großbritannien – begannen sofort, Spiele, Textabenteuer, Chatbots und Datenbanken zu schreiben. In den 90er Jahren wurden sie zur Generation, die alle Internet-Apps und Codes baute, die den Cyberspace mainstream machten.
Vor BASIC war das meiste Codieren schwer verständlich. In den 1950er und 60er Jahren verwendete man im Allgemeinen Maschinensprache, die Befehle wie „sal 665“ und „sal 667“ enthielt. Einige frühe Visionäre versuchten, Sprachen für normale Menschen zu erschaffen. In den 1950er Jahren entwickelte die Pionierin der Informatik, Grace Hopper, eine Sprache namens FLOW-MATIC, die einfache englischähnliche Befehle wie IF EQUAL TO und READ-ITEM verwendete.
Für jemanden, der gerade in dieses seltsame Handwerk eintauchte, fühlte sich BASIC positiv thaumaturgisch an. Es war wie Zaubersprüche: Man äußerte Worte, die Eisen und Silizium zum Leben erweckten und sie Dinge tun ließen. Wenn man, wie ich, in Tolkien und anderen hochtrabend phantastischen Romanen mariniert war, gab es eine tiefe Romantik in der Vorstellung, dass Alltagssprache die Realität beeinflussen könnte.
BASIC: Ein Pionier im Dialog mit Maschinen
BASIC förderte auch das Herumexperimentieren. Ungewöhnlich für die damalige Zeit war es eine „interaktive“ Sprache. Bei vielen früheren Sprachen schrieb man den Code, musste ihn aber vor dem Ausführen in ein kleines Paket aus 1en und 0en „kompilieren“. BASIC hingegen ließ die Maschine sofort reagieren. Man schrieb ein paar Zeilen, drückte RUN und boom – die Maschine interpretierte es direkt.
Dies verwandelte das Codieren in ein Gespräch mit der Maschine. Programmierung war wie laut denken. Ich arbeitete beispielsweise an einem Chatbot, gab ein paar Zeilen in den Parser ein und drückte RUN, um zu sehen, wie er funktionierte. Ich fügte ein paar weitere Zeilen hinzu, beobachtete, was funktionierte und was nicht, und lief es erneut. Dieses Hin und Her machte den gesamten Codierprozess weniger abschreckend, eher wie Herumalbern als wichtiges Design. Viele der weltweit beliebtesten Sprachen (wie JavaScript und Python) werden jetzt ebenfalls sofort interpretiert. Aber BASIC war eine der ersten.
BASIC schuf auch die erste massenhafte Open-Source-Kultur. Menschen teilten ihren Code frei: Wenn ein Freund ein cooles Blackjack-Spiel schrieb, machten wir alle eine Kopie von Hand, wie Schreiberlinge in mittelalterlichen Klöstern, und führten es selbst aus. Jeder Monat enthielt in Compute-Magazinen endlose Zeilen BASIC, die von Hobbyisten eingesandt wurden. Ich verbrachte einen Nachmittag damit, Hunderte Zeilen von Conways „Game of Life“ abzutippen, das ich in einer Ausgabe gefunden hatte, und beobachtete fasziniert, wie ein künstliches Lebewesen auf dem Bildschirm erblühte.
Es gibt ein Sprichwort in der Welt der Programmierer, dass Code hauptsächlich für andere Programmierer geschrieben wird, damit diese ihn lesen können, und nur sekundär für die Maschine, um ihn auszuführen. BASIC bewies dies in großem Umfang.
Das Erbe von BASIC
Als praktische Sprache zur Erstellung versandfertiger Software? BASIC war nicht immer großartig. Grafiken liefen beispielsweise quälend langsam. Ich versuchte, ein Weltraumschießspiel zu entwickeln, und es war unspielbar träge. Daher konzentrierten sich viele BASIC-Spieleentwickler stattdessen auf Textabenteuer: Texte wurden zumindest schnell gerendert. Die Explosion der textbasierten Dungeon-Crawler in den späten 70er und 80er Jahren war teilweise ein Produkt der eingebauten Beschränkungen von BASIC.
BASIC hatte auch einige wirklich schlecht durchdachte Elemente. Berüchtigt war der Befehl GOTO, der komplexe „Spaghetti“-Strukturen ermutigte. Wenn ich ein längeres Programm schrieb und mehrere Dutzend GOTO-Anweisungen benutzte, wurde mein Code ein schwer verständliches Labyrinth. Der Informatiker Edsger Dijkstra verachtete diesen Stil so sehr, dass er einen ganzen Essay dagegen schrieb. Er betonte, dass jeder, der mit BASIC programmieren lernte, „geistig verstümmelt jenseits der Hoffnung auf Regeneration“ sei.
Dijkstra war hyperbolisch, aber nicht ganz falsch: Nach seiner Blütezeit verlor BASIC an Popularität. Neue Sprachen, die sauberere, modernere Stile förderten, tauchten auf und liefen schneller. BASIC lebt heutzutage noch als Microsoft Visual Basic, aber nur vier Prozent der professionellen Entwickler verwenden es heute. Persönlich wechselte ich, als ich in den 2010er Jahren wieder zu programmieren begann, zu neueren Sprachen wie Python und JavaScript.
Gelegentlich finde ich jedoch einen Emulator für den Commodore PET. Ich tippe das uralte Programm ein und drücke RUN. Es fühlt sich immer noch wie Magie an.