Ein Alphabet der Computersprachen: APL

von Gary L. Ratliff Sr. (eronstuc@gmail.com)

Hiermit beginnt eine Serie über Computersprachen. Wie ich schon in einem früheren Artikel erwähnt hatte, bestand einer der Gründe einen Computer (das gilt besonders für meinen SuperPET im Jahr 1981) zu kaufen darin, daß ich lernen konnte in vielen Sprachen zu programmieren. Durch diesen Computer stieß ich zum ersten Mal auf die faszinierende, 1957 von Dr. Kenneth Iverson erfundene Programmiersprache. Das war eine Schreibweise, die durch Verwendung von einzigartigen Symbolen in der Lage war, einen sehr kompakten Code zu generieren. Die Sprache arbeitet mit einem Array als Grundelement. Damit lernte ich, daß ein „sort“, welches ich in Basic geschrieben hatte und fast vier Seiten Programmcode einnahm, in nur eine einzige Codezeile mit 67 Zeichen bei APL übersetzt werden konnte!

Das Problem zwei Matrizen, A und B, zu addieren, würde in Basic durch eine Serie von geschachtelten Schleifen mit FOR-Anweisungen den Input zu lesen und dann das Ergebnis hinzu zuzählen gelöst werden, anstatt dem einfachen Statement: C ? A + B. Noch einfacher wird es, wenn man lernt, daß es auch einfache Symbole gibt, die Multiplikation oder Inversion von Matrizen erlauben. Studien haben ergeben, daß der Zeitaufwand zum kodieren in APL nur ungefähr ein Zehntel dessen beträgt, was benötigt wird um einen Algorithmus in einer anderen Computersprache darzustellen.

Nebenbei noch interessant: basierend auf dem Erfolg der „Donald Trump Apprentice“-Serie, gab es in New Jersey einen Wettbewerb für arbeitslose Programmierer, bei dem eine mit 40'000 Dollar p.a. dotierte Stelle als Junior-Programmierer gewonnen werden konnte. Eine der ersten Aufgaben war es, zu lernen Programme mit Hilfe der Sprache APL zu entwickeln. Im Text wird erwähnt, daß 27 Personen bei diesem Wettbewerb antraten.

Wo und wie APLX herkriegen und installieren?

Es sind einige verschiedene Versionen von APL für Linux erhältlich. So wie z.B. REALbasic handelt es sich dabei um proprietäre Systeme. Eines dieser Systeme ist allerdings für nicht-kommerziellen Gebrauch frei erhältlich. Sobald man einmal die Einfachheit und das Leistungsvermögen dieses Systems schätzen gelernt hat, kann man sich immer noch eine kommerzielle Variante zulegen. Es gibt diese in Variationen für i386 oder 32Bit-Rechner, aber auch für 64Bit AMD- und Intel-Systeme. Einer der Gründe auf ein 64Bit-System überzuwechseln, wäre die fast unbegrenzte Anzahl von unterstützten Arrays. Personen die mit extrem großen Datenmengen arbeiten müssen, waren immer auf eine portionsweise Verarbeitung angewiesen. Auf der „microapl“-Webseite wird darauf hingewiesen, daß die 32Bit-Version nur Speicher bis zu vier Gigabyte unterstützt.

Bei der APL die wir hier bei diesem Artikel benutzt haben, handelt es sich um die persönliche Version der APL für Linux. Das Programm können Sie sich mit Firefox von folgender Webseite herunterladen:

http://www.microapl.co.uk/apl/linux_pe_form.html

Relativ schnell werden Sie ein gzip-tar-Archiv auf ihrer Arbeitsfläche entdecken. Dabei handelt es sich um die Linuxversion von APLX, wobei auch Versionen für Windows und Mac existieren. Viele Informationen über Angebote der Firma und über zusätzliche Funktionen dieses Systems können Sie auf der Firmenwebseite unter folgendem Verweis finden:

http://www.microapl.co.uk/apl/

Man kann dieses System entweder als normaler Benutzer oder als root installieren. Der Pfad zur Applikation unterscheidet sich, je nachdem für welchen Weg Sie sich entschieden haben. Sollten Sie als normaler Benutzer installieren, dann werden die Schriften nicht mit installiert. Somit ist eher ratsam als root zu installieren, denn damit wird das System auch für jeden Benutzer zugänglich. Öffnen Sie also die Konsole, melden Sie sich als root an, und installieren Sie das Programm mit diesen Befehlen:

Nachteil: tun Sie das nur in einer Testumgebung. Installieren Sie nicht in einem Produktivsystem, da Sie ein potentiell instabiles System erhalten können.

su
<root-Password eingeben>
cd /home/gary/Desktop
gunzip aplx_linux_pe_11.tgz
tar -xvf aplx_linux_pe11.tar
cd APLXLinux1.1
./setup.sh

Belassen Sie während des Setups die Standardeinstellungen bei allen Fragen. Sobald Sie sich registriert haben, wird Ihnen ein Aktivierungscode zugemailt mit dem Sie APLX starten können. Starten Sie nun Ihren Rechner erneut hoch, und sie werden einen Menüeintrag für APLX für Linux vorfinden (siehe Abbildung unten), mit dessen Auswahl sie APLX laden können.

pics

Natürlich werden Sie beim ersten Mal Ihren Aktivierungscode benötigen. Am einfachsten kopieren Sie ihn aus der erhaltenen Email, und fügen ihn mittels STRG+V in das Fenster ein. Anschließend werden Sie aufgefordert werden APLX neu zu starten, danach haben Sie aber, wie in der unteren Abbildung ersichtlich, eine saubere Arbeitsfläche.

pics

Die Tastatur beherrschen und APL lernen

Jetzt wäre es eine sehr große Hilfe, wenn Sie vor sich das ausgedruckte Blatt mit den Angaben über die Tastaturbelegung vor sich hätten. Man kann diese Belegung durch eine Suche nach „APL Keyboard Layout“ in Firefox finden. Ich habe für diese Version von APLX auf folgender Webseite etwas passendes gefunden:

http://www.wickensonline.co.uk/apl/union-large.png

Sie können aus zwei verschiedenen Tastatur-Vorlagen im Menüpunkt „Tools“ der Arbeitsfläche wählen. Ich bevorzuge das „Unified APL Keyboard“. Klicken Sie nun auf den Menüpunkt „Help“, danach auf „Keyboard Layout“. Nun können Sie durch einen Klick die Tastaturbelegung hinter dem Arbeitsfenster verstecken, oder, falls Sie etwas nachschauen müssen, wieder hervorholen. Die Tastatur ist farbkodiert, und im „Unified Keyboard“ werden viele der benötigten Zeichen aufgerufen, indem man zuerst die ALT-Taste drückt. Mit dem Abtippen der Funktionsbeispiele und der Operatoren aus dem Text des Buches werden Sie lernen wie man sie benutzt und dabei APL lernen. Manchmal werden Sie ein Zeichen aus dem Zeichensatz, den sie gerade nicht verwenden, benötigen. Rufen Sie einfach die entsprechende Tastatur auf, geben Sie das gewünschte Symbol ein, und wechseln Sie anschließend zu Ihrer bevorzugten Tastatur zurück. Die Tastatur hinter dem APL-Fenster zu verstecken ist ein praktischer Weg, um zwischen den verschiedenen benötigten Tastaturen hin- und herzuwechseln.

Ich habe festgestellt, daß ich Ihnen ermöglichen kann mit derselben Methode APL zu lernen, die ich vor 27 Jahren benutzt habe. Ich habe eines der besten Werkzeuge gefunden um APL entweder in einem Klassenzimmer oder im Selbststudium zu erlernen: „APL: an interactive approach“ von Gilman und Rose. Suchen wir nun mit Firefox und der Google Suchmaschine nach:

„APL: an interactive approach“

Als erstes Suchergebnis sollte „APL - An Interactive Approach-2nd Edition pg 1“ auftauchen. Dies ist der vollständige Text des gesamten Buches. Mit den Navigationsknöpfen auf der linken Seite kann man vor- und zurückblättern, die Helligkeit verändern, und die Buchstaben vergrößern oder verkleinern.

pics

Auf der ersten Seite bringt Sie der „Up“-Pfeil zu einer Liste von lesenswerten Büchern und Artikeln. Der „Rechts“-Pfeil bringt Sie zur folgenden Seite des Textes. Sobald Sie weiter als bis zur ersten Seite gekommen sind, taucht auch ein „Links“-Pfeil auf, der es Ihnen ermöglicht eine Seite zurückzublättern. Sind Sie im Text schon weiter fortgeschritten, können Sie, anstatt Seite für Seite vorzublättern, einfach eine Seitennummer in das Nummernfenster eingeben und auf GO klicken. Damit kommen Sie direkt zu der gewünschten Seite.

Wenn Ihr Sehvermögen schon etwas nachgelassen hat, wie es z.B. bei mir schon der Fall ist, dann möchten Sie wahrscheinlich die Textgröße dahingehend verändern, daß Sie den Text auch ohne Brille lesen können. Dazu müssen Sie einfach so lange auf den kleinen Kreis mit dem Pluszeichen klicken, bis der Text die für Sie angenehme Größe erreicht hat. Analog dazu können Sie durch klicken auf den Kreis mit dem Minuszeichen die Größe der Buchstaben verringern. Die nächsten drei Symbole mit den verschiedenen Kontrastmotiven dienen dazu, den Text dunkler oder heller darzustellen. Uns fehlen nur noch die drei Pfeile am unteren Rand. Wenn Sie auf den Pfeil nach unten klicken, dann verdrehen Sie den gesamten Text um 180°. Mit den anderen zwei Pfeilen können Sie den Text um 90° in die gewünschte Richtung drehen.

Nun ist ihr PCLinuxOS gut genug ausgerüstet, so daß sie sich APL leicht selbst beibringen können. Öffnen Sie einfach Ihre Arbeitsfläche auf einem Bildschirm, und den Text des Buches in einem anderen Bildschirm. So können Sie den Text lesen und anschließend zu Ihrer Arbeitsfläche überwechseln, Sie werden also interaktiv APL lernen.

Erfahrungsgemäß ist das die schnellste Methode. Durch das Selbststudium werden Sie auch nicht durch langsamere Klassenkameraden aufgehalten. Von der Arbeitsfläche kommt eine sofortige Rückmeldung. Und nachdem im Buch die korrekten Antworten ja enthalten sind, wissen Sie sofort ob Sie die Eingaben richtig gemacht haben.

Setzen Sie sich als Ziel z.B. ein Kapitel pro Tag oder pro Woche, abhängig davon wieviel freie Zeit Sie dafür erübrigen können, und schon bald werden Sie ein Meister in einer faszinierenden Computersprache sein, die, da sie seit den Anfängen des Computerzeitalters vorhanden ist, ihre Zeitlosigkeit bewiesen hat. Wenn Sie schon in anderen Sprachen programmiert haben, dann werden Sie über die Einfachheit und die Leistungskraft dieser Sprache staunen.

Die APLX Dokumentation einrichten

Mit der obigen Methode können Sie APL erforschen und lernen. Das System das Sie sich heruntergeladen haben hat allerdings noch weitaus mehr zu bieten. Unter „Help“ können Sie Abschnitte im System lesen, während Sie noch in Ihrer APL-Arbeitsfläche sind. Das System kommt auch mit verschiedenen buchähnlichen Dokumenten im allgegenwärtigen pdf-Format. PCLinuxOS bietet Ihnen zum einfachen Lesen dieser Dateien das Programm kpdf an. Wir müssen aber erst einmal den Weg zu dieser Datei zeigen. Um das zu tun öffnen Sie eine Konsole. Lokalisieren Sie nun die von APLX gelieferte Dokumentation mit diesem Befehl, und weisen Sie anschließend kpdf den Weg zu einer beliebigen dieser pdf-Dateien.

cd /usr/local/aplxpe/manuals
ls

Damit können Sie eine Liste der drei pdf-Dateien die in der Dokumentation enthalten sind erstellen.

kpdf APLX <tab>

Nun können Sie aus den verfügbaren Dateien durch Drücken der Taste S und der Tabulatortaste die Auswahl treffen: APLX Standalone Applications.pdf. Dabei handelt es sich um ein 13-seitiges Dokument, das sich am schnellsten laden läßt.

pics

Wenn Sie jetzt erneut mittels Konsole kpdf benutzen und „Öffnen“ auswählen, werden Ihnen die anderen gefundenen pdf-Dateien ebenfalls zum Öffnen angeboten, und können leicht ausgewählt werden.

Es werden Ihnen ebenfalls verschiedene Arbeitsflächen mit voreingerichteten Funktionen und Operatoren zum Gebrauch angeboten. Um diese auszuwählen, wählen Sie aus dem Menü „File“ den Befehl „Open“. Damit öffnen Sie ein Navigationsfenster, das zu Ihrem Home-Verzeichnis weist. Benutzen Sie den blauen Pfeil um so lange nach oben zu navigieren, bis er auf: /usr/local/aplxpe/ws zeigt und klicken Sie jedes Element an, bis die Liste der angebotenen Arbeitsflächen erscheint. Durch Klicken auf DISPLAY erfahren wir, daß das nun veraltet ist. Jetzt wird Ihnen ein Hinweis gegeben, wie Sie Hilfe beim Gebrauch dieser Arbeitsfläche bekommen können. Versuchen Sie nicht diesen Befehl direkt einzugeben, wählen Sie ihn einfach mit dem Mauszeiger aus, und betätigen Sie die Eingabetaste. Der Text wird zum Eingabefeld rücken, und die HELP-Funktion wird ausgeführt. Andere Befehle in diesen Arbeitsflächen können auf dieselbe Art und Weise eingegeben werden.

Sie verfügen nun über die Fähigkeit, dieses System durch Lesen der Dokumentation zu erforschen und zu lernen, und Sie verfügen weiterhin über die Fähigkeit, die vielen mitgelieferten Arbeitsflächen kennenzulernen und zu benutzen.

Wie Sie wahrscheinlich vermutet haben, beschäftige ich mich seit Jahren mit MicroAPL Ltd. Sie waren immer sehr zuvorkommend und kooperativ, wenn es darum ging, ihr System auf einem meiner zahlreichen Rechner zum Laufen zu bringen. Ich möchte auch Richard Nabavi von MicroAPL dafür danken, daß er willens war, meine vielen Fragen zu dieser Version von APL zu beantworten.

Beim nächsten Mal werden wir uns mit der kommerziellen Version dieses Systems auseinandersetzen.

Seitenanfang