Hieroglyphen - APL, die etwas andere Programmiersprache

Was ist APL? Diese Frage können bis auf die Benutzer von Großrechenanlagen nur wenige beantworten, denn diese Sprache ist Anwendern kleinerer Rechner bisher meist nicht bekannt. Das liegt an der Problematik ihrer Implementierung auf kleinen Computern. Dazu waren nämlich erst Geräte der ST-Generation leistungsfähig genug. Woher stammt nun APL? Zu welchem Zweck wurde es entwickelt? Wodurch unterscheidet es sich von anderen Sprachen, die derzeit benutzt werden?

Die drei Buchstaben APL sind die Abkürzung von A Programming Language, was in der Übersetzung Eine Programmiersprache bedeutet. Entwickelt wurde APL von Kenneth E. Iverson als universelle Notation von mathematischen Zusammenhängen. Sein Ziel war es, durch eine festgelegte mathematische Schreibweise seinen Studenten das Erlernen der Mathematik zu erleichtern. Das bewährte sich auch. Da Iverson bei IBM beschäftigt war, bot sich bei der Entwicklung der IBM/360 die Gelegenheit, APL zum ersten Mal auf einem Rechner zu implementieren.

Bei den Mainframes hat sich APL dann durchgesetzt, nicht zuletzt aufgrund der ungeheuren Leistungsfähigkeit. Im übrigen handelt es sich hier um eine Interpretersprache, deren Geschwindigkeit trotzdem erstaunlich hoch ist. Ursache ist eine etwas andere Denk- und Programmierweise, als sie bei den sonst üblichen Sprachen benutzt wird, stemaufrufe zu nutzen. Der gesamte APL-Zeichensatz ist direkt über die Tastatur erreichbar. Dies wird durch eine Tastaturumschaltung bewerkstelligt. Für die Lernphase wird eine Selbstklebefolie mitgeliefert, mit der sich die Tastenkappen beschriften lassen. Nun kann die Arbeit mit dem Interpreter beginnen. Schon nach ein paar Tagen hat man die Tastaturbelegung im Kopf und kann die mühevoll aufgeklebten Beschriftungen vergessen. Jetzt beginnt erst der richtige Spaß beim Programmieren, denn bald ist man in der Lage, in kürzester Zeit den einen oder anderen Mehrzeiler zu erstellen. Zuvor musste man für die gleiche Problemlösung noch ein 10- oder 20seitiges C- oder Pascal-Programm schreiben.

Von GDAT wird auch ein Run-Only-Interpreter angeboten. Somit ist APL auch für alle interessant, die ihre Programme einem breiten Publikum zugänglich machen möchten. Aber das ist noch lange nicht alles. APL ist nicht nur eine normale Programmiersprache, sondern bildet auch ein mehrplatzfähiges Betriebssystem, das alle Anforderungen wie Filelocking, Password-Kontrolle und Zugriffsberechtigung erfüllt. Es ist also durchaus möglich, in APL Mehrplatzanwendungen zu schreiben. Aber auch als Einplatz-Programmierumgebung stellt dieses kompakte und ausgereifte System eine große Unterstützung dar.

Ein Beispiel stellt das in Bild 1 gezeigte Programm dar. Wer das dort abgedruckte Programm ohne APL-Vorkenntnisse betrachtet, kann wirklich nur Vermutungen darüber anstellen, was es leistet. Ein Problem, das die Verbreitung von APL erschwerte, ist dort allerdings auch zu erkennen. Gemeint sind die vielen Sonderzeichen, die an die Stelle der sonst aus dem Englischen stammenden Befehlswörter getreten sind und Kommandos darstellen.

Gewöhnungsbedürftig sind auch andere Besonderheiten. So müssen bei APL-Programmen nur noch in Ausnahmefällen Schleifen benutzt werden. Ansonsten lassen sich die leistungsfähigen APL-Befehle einsetzen. Wohl mancher ist erstaunt darüber, wie einfach in APL Probleme kodiert werden können. Entsprechende Programme weisen dann auch eine beachtliche Geschwindigkeit auf, bei der die meisten Basic-Interpreter nicht mithalten können.

Das erwähnte Programm und eine Reihe von Tests wurden mit dem MICRO APL erstellt, dessen Vertrieb in Deutschland die Firma GDAT übernommen hat. Dieser Interpreter bietet den vollen APL-Sprachstandard und ermöglicht es, auch die Betriebssystemfunktionen anzusprechen.

Natürlich hat APL auch Schwächen. Sie liegen hauptsächlich im Interpreterprinzip begründet und sind auch bei anderen Interpretersprachen vorhanden. APL bietet auch die Möglichkeit, Assembler-Routinen einzubinden, so dass sich wohl fast alle Probleme in APL lösen lassen.


Michael Beising



Links

Copyright-Bestimmungen: siehe Über diese Seite
Classic Computer Magazines
[ Join Now | Ring Hub | Random | << Prev | Next >> ]