Gestern Samstag gab es ein Jubiläum zu feiern: Am 12. August 1981, also vor 25 Jahren, stellte IBM in New York der Öffentlichkeit den ersten Personal Computer (PC) vor. Niemand hat damals geahnt, dass dies zugleich der Startschuss für eine Revolution in der Computerbranche war. Innerhalb weniger Jahre entstand ein grosser, weltumspannender Markt für Hard- und Software rund um den PC. Der PC verdrängte die damals populären Homecomputer von Commodore, Texas Instruments und Atari. Und er verdrängte die Computer mit dem bunten Apfel-Logo, so dass Apple das Frotzeln («Welcome, IBM») über den vermeintlich trägen Grosskonzern verging. Der Erfolg rief natürlich Nachahmer auf den Plan und noch bevor IBM die ersten Nachfolger lancieren konnte, erschienen auf dem Markt «Klone», also Computer, die zum IBM PC kompatibel waren.
Warum war der IBM PC so erfolgreich? Er kam zur richtigen Zeit! Kleinere Unternehmen konnten sich keine teuren Zentralrechner («Hosts») leisten und die verfügbaren Homecomputer waren wenig zuverlässig, untereinander nicht kompatibel und für die geforderte Aufgabenstellung nicht leistungsstark genug. Da kam der preiswerte Bürocomputer aus dem Hause IBM gerade recht.
Aber dies alleine erklärt das Phänomen «PC» nicht. Ein wesentlich bedeutender Grund liegt in der Technik des IBM PC. Denn dieser bestand vorwiegend nicht aus Komponenten des Herstellers, sondern aus Elektronikbauteilen, die IBM zusammengekauft hat. Dazu – und das war bei IBM neu – waren diese Bauteile für Programmierer und für Hersteller von Zusatzkomponenten offen dokumentiert. Der PC verfügte über sogenannte «Slots», das sind Steckplätze für Platinen die den Funktionsumfang des PC erweitern: Netzwerkadapter, Grafikkarten, Schnittstellen für Geräte anderer Hersteller, usw. Kurz: Jeder, der für den PC eigene Produkte entwickeln wollte, konnte dies ungehindert tun! Dies war der Beginn einer Eigendynamik, die bis heute ungebrochen ist, denn wesentliche Konzepte des IBM PC finden sich auch noch in den Geräten der Gegenwart.
Einen IBM PC konnte ich mir in den frühen 80’Jahren nicht leisten. Als aber Commodore wenige Jahre später einen günstigen PC lancierte, griff ich zu und kaufte für ca. Fr. 3200.- einen Commodore PC 10. Er besass wie das Vorbild einen mit 4.77Mhz getakteten Intel 8088, zwei 5 1/4 Zoll Diskettenlaufwerke, 256 KB RAM und einen nicht grafikfähigen Monochrombildschirm. Mitgeliefert wurde eine MS-DOS Diskette. Mehr nicht. Was konnte ein Hobby-Programierer damit anfangen? Zunächst nicht viel!
Um eigene Programme zu schreiben – und nur dafür schien mit der PC interessant – gab es nur GW BASIC. Zwar gab es C Compiler, aber die waren kompliziert, quälend langsam und zu teuer. Also schrieb nich meine ersten Programme in GW BASIC: Einfachere Spiele, ein Ranglistenprogramm für Radrennen, eine Karteianwendung, ein KI-Proramm und einiges mehr. Aber, um ehrlich zu sein, es machte überhaupt keinen Spass. Die BASIC-Programme waren langsam und konnten nicht kompiliert werden. Es gab keine Elemente zur strukturierten Programmierung und dass jeder Anweisung eine Zeilennummer vorangestellt werden musste, nervte total!
Ein Lichtblick war kurz darauf ein kleines Programm, das den Bildschirmadapter in einen Quasi-Grafikmodus versetzen konnte. Mit Hilfe eines weiteren Treibers wurde GW-BASIC um einige grundlegende Grafikbefehle erweitert, so dass auf dem Bildschirm Linien und einfache geometrische Figuren gezeichnet werden konnten. Das erstellen eines Spieles in diesem Modus schlug indes fehl weil – wie gesagt – GW-BASIC zu langsam war!
Und dann geschah plötzlich etwas wunderbares: Turbo Pascal für den PC erschien und erlöste Hobbyprogrammierer wie professionelle Entwickler von GW-BASIC. Turbo Pascal war einfach zu bedienen, übersetzte die Programme rasend schnell in effizienten Maschinencode, half dem Entwickler mit aussagekräftigen Fehlermeldungen und einem komfortablen Editor. Pascal erlaubte strukturiertes Programmieren mit Anweisungsblöcken, Funktionen und Prozeduren und noch vielen Leckerbissen mehr. Bei grösseren Projekten konnten die Programme sogar in verschiedene Dateien ausgelagert werden und wenn sie die 64KB Grenze sprengten, behalf mach sich mir Overlays.