Programmiersprachen: Babylon läßt grüßen

Programmierer sind die Herren der Schaltkreise. Auf ihr Kommando stehen die Computer stramm. Die oberste Kommandogewalt über Bits und Bytes ist deshalb auch das Ziel zahlreicher Anwender, die ihre eigenen Programmträume in die Tat umsetzen wollen.

Vor Computergenerationen glichen die ersten Rechner noch riesigen Sauriern, die sich bevorzugt von endlosen binären Zahlenreihen ernährten. Die unbeweglichen Elektro-Lurche folgten dem Darwinschen Prinzip »Survival of' the fittest«. Ihr Appetit war größer als die Nahrungsmenge, die sie vertrugen. Außer heute gewaltig anmutenden Gehäuseskeletten auf den Friedhöfen der Mikroelektronik blieb der Nachwelt nichts von ihneu erhalten. Kleinere und wendigere Artgenossen traten an ihre Stelle, mit gleichgroßem Heißhunger auf Maschinencodes, aber mit wesentlich größerer und effektiverer Verdauungsapparatur. Diese schon wesentlich besser angepaßten Mikros eroberten sich zunehmend ihre Welt.

Mit ein wenig Übung verstanden sie bald Befehle, die aus Buchstaben und Wörtern (sog. Mnemonics) bestanden. Anfänglich waren es nur hochkarätige Fachleute, die neben ihrer eigenen auch die Sprache der Rechner verstanden.

Amtssprache der Heimprogrammierer

Diesen kulturellen Vorsprung machten sie sich zunutze. Die willenlosen Vielfraße wurden redlich genährt. Mit der Entwicklung ausgefeilterer Kommandostrukturen wurden auch Programmierprojekte ihrer neuen Herren immer ehrgeiziger. Bald schon arbeiteten vielköpfige Entwicklerteams an zunehmend aufwendigeren Problemlösungen. Dabei verzweifelten viele Köche an der Aufbereitung der Maschinencodes. Die »Rezepte« waren wenig transparent und fehleranfällig. Erst die Sprache Assembler traf ins Schwarze und brachte Wirbel in das friedliche Nebeneinander von Mensch und Maschine.

Schwer zu verstehen, daß erst die Verwirrung der Computersprachen den Programmierern den vermißten Durchblick verschaffte. Seitdem hat es einen wahren Boom bei der Entwicklung künstlicher Sprachen gegeben. Was für den Rechner kein Problem ist, macht den Anwendern das Leben schwer: Für jedes denkbare Problem gibt es eine entsprechende Programmierumgebung. Babylon läßt grüßen.

Den Spezialisten, die komplexe und besonders schnelle Programme entwickeln wollen, sollte man auch weiterhin maschinenorientiertes Programmieren überlassen. Computerneulingen, die »ROM« für die Hauptstadt eines südlichen Urlaubslandes halten, wird Assembler wie eine exotische Fremdsprache erscheinen. Anfängern, die volle Befehlsgewalt über ihren Rechner anstreben, hilft die Amtssprache der Heimprogrammierung, Basic, erst einmal über'n Berg: Um sich das Gelände dieser Interpretersprache zu erschließen, muß man nicht unbedingt die Schulbank drücken. Basic eignet sich auch zum Selbststudium. Wer Englisch kann, wird sich schon bald in dieser, allerdings dialektreichen, Entwicklerumgebung verständigen können. Am Atari rivalisieren vornehmlich zwei Mundarten miteinander. Beide, »Omikron«- und »GFA«-Basic, sind weit verbreitet. Neuankömmlinge in der Basic-Welt haben keine Mühe, Einheimische zu finden, die einen der beiden Dialekte beherrschen.

Ursprünglich genoß Basic keinen guten Ruf. Es ist allerdings kontinuierlich weiterentwickelt worden. Inzwischen kann auch in Basic strukturiert programmiert werden. Langsam verliert es auch den Ruf, eine reine Interpretersprache zu sein. Vermehrt tauchen in der Basic-Großgemeinde nun auch Compiler auf, die die behäbige Übersetzerumgebung zum Luxusarbeitsbereich veredeln. Allerdings sind Basic-Programme trotz ständiger Verbesserungen der Infrastruktur langsam und speicherintensiv.

Viele Programmierer haben typische Eigenschaften: Wer sich einmal an einen bestimmten »Kommandoton« gewöhnt hat, hält seiner Sprache lange die Treue. Dennoch gibt es Umsteiger. Programmierer, die mit ihren Basic Kenntnissen an Sprachbarrieren stoßen, ziehen meist den Aufstieg in eine maschinenorientierte Programmiersprache vor. Das muß nicht unbedingt Assembler sein. Ebenso wie Basic gehört »C« zu den Sprachen höheren Typs.

»C« hat eine rasante Evolution durchgemacht. Ursprünglich gedacht für die Entwicklung komplexer Programme, ist es heute so etwas wie die Allzweckwaffe der ST Programmierelite gegen die reine Lehre der Systemprogrammierung. Ein universell taugliches Werkzeug, dessen Beherrschung nicht ganz unproblematisch ist. »C« ist nachtragend, verzeiht Programmierfehler nur sehr schwer. Zu Beginn ist die Atari-Bombe des Programmierers treuester Begleiter. Erst der geübte »C«-Kommandeur nimmt Sprachhürden, wie sie Betriebssystemroutinen und Interrupts darstellen, mit sportlicher Eleganz. Dann aber sind die Sprachtalente kaum noch aufzuhalten: »Unix« ist fast vollständig unter »C« entwickelt worden. Ebenso das Atari-GEM. Naheliegend, daß die Programmierung einer GEM Applikation dadurch begünstigt wird. »C«Spezialisten stützen diese Annahme, verweisen aber gleichzeitig darauf, daß diese Vorteile dem »Binding« zuzuschreiben sind. Das Binding vermittelt zwischen dem Betriebssystem GEM und »C«.

Geschwätziges Bestreben

Die gespeicherten Parameter einer GEM-Funktion werden in vordefinierten Speicherzellen abgelegt und bei Bedarf aufgerufen. »C« verfügt nur über wenige Anweisungen, deckt damit aber alle Kontrollstrukturen ab: Verzweigungen (»if«), Schleifen mit Abfrage bei Schleifenbeginn (»while, for«), Schleifen mit Abfragen am Schleifenende (»do«) und die Auswahl von Alternativen (»switch«). Wiedererkennungswert bei Basic-Programmierern hat auch der »GOTO« Befehl.

Zum problemorientierten »Pascal« unterhält »C« verwandtschaftliche Beziehungen. Die Familieneintracht wird jedoch getrübt, weil sich der Familiensproß lange Zeit an Hochschulen aufgehalten und von dort einige Unarten mitgebracht hat. In der Theorie ist es äußerst effizient. In der Praxis eignet es sich nur selten zur Umsetzung konkreter Programmieraufgaben.

Absicht des Ziehvaters dieses wissenschaftlichen Überfliegers, Niklas Wirth, war es, ein Lehrstück zu entwickeln. Ein Trainingsprogramm für den Informatikernachwuchs, der sich strukturierte Programmierkenntnisse aneignen wollte.

»Pascal« wiederum wurde schon bald Taufpate der meisten strukturierten Programmiersprachen und entwickelte selbst erstaunliche Talente. Markanteste Stärke des Akademikers sind Datentypen, die auch andere Sprachen, wie die spezialisierte Systemsprache PL/M, kennen. Pascal erlaubt darüber hinaus eigene Datentypen frei zu definieren. Von gestandenen Programmierern wird Pascal als nicht besonders schwierig beurteilt.'Übelmeinende Kritikei bemängeln jedoch das »geschwätzige« Bestreben der Pascal-Gemeinde, alle Arbeitsschritte haarklein kommentieren zu wollen.

Dadurch aber werden Pascal-Programme übersichtlich und sind leicht in einzelne Programmteile zu zerlegen. Programmierer, die Pascal sprechen, können es sich leisten, gesellige Vertreter ihrer Spezies zu sein. Aufgrund der Übersichtlichkeit und möglichen Abtrennung einzelner Teile, können mehrere Programmierer gleichzeitig an einer Entwicklung arbeiten.

»Omikron-Basic« ist erhältlich bei: Omikron Software, Sponheimstr. 12, 7530 Pforzheim.
»GFA-Basic« bekommt man Ober: GFA-Systemtechnik, Postfach 190263, 4000 Düsseldorf 11


Egbert Meyer
Aus: ST-Magazin 10 / 1990, Seite 88

Links

Copyright-Bestimmungen: siehe Über diese Seite