APL (A Programming Language) ist eine interaktive (= interpretierte), arrayorientierte Programmiersprache.

APL ist besonders geeignet zur schnellen Anwendungsentwicklung, zum Prototyping, für Anwendungen mit unklarem Anforderungsprofil und Anwendungen, die häufigen Änderungen unterworfen sind.

APL eignet sich auch für die Erarbeitung von Lösungen im Rahmen des Mathematikunterrichts, Berechnungen in naturwissenschaftlichen Praktika, Modellsimulationen und vieles andere mehr.

Die Verwendung von Arrays unterscheidet APL von den meisten anderen Programmiersprachen. Ein Array ist eine 0 bis n-dimensionale Struktur.

Jedes Element eines Arrays kann wieder ein Array sein. Durch diese Schachtelungsmöglichkeit von Arrays kann jede Datenstruktur abgebildet werden.

Sehr viel klarer wird dies durch Beispiele. Zwei Zahlen werden in APL nicht anders addiert als in anderen Programmiersprachen auch:

      2 + 3
5

Das folgende Beispiel dagegen kann in den meisten Programmiersprachen so nicht ausgeführt werden:

      1 2 3 + 3 4 5
4 6 8

Noch komplexer ist das folgende Beispiel:

      3 + (1 2)(3 4 5)
 4 5  6 7 8

Links steht ein einzelner Wert, Skalar genannt. Ein Skalar wird automatisch „erweitert“ wenn dies notwendig ist.

Rechts von dem Plus steht ein Vektor der Länge zwei. Dies sind wiederum Vektoren der Länge zwei und drei.

Hier einige weitere gültige Ausdrücke:

3 2 + (1 2)(3 4 5)
 4 5  5 6 7 
      (30 20)(20 10 0)+(1 2)(3 4 5)
 31 22  23 14 5

APL bietet eine interaktive Umgebung, d.h. jeder Befehl kann eingetippt und mit Enter (Carriage Return) ausgeführt werden.

Wenn Sie einen APL-Interpreter auf Ihrem Rechner installiert haben, können Sie die obigen wie alle folgenden Ausdrücke eintippen; Sie erhalten nach dem Drücken der Enter-Taste das Ergebnis.

Die Eingaben sind 6 Stellen eingerückt, die Ausgaben beginnen in der ersten Stelle.

Die Wertzuweisung wird durch einen Pfeil nach links dargestellt.

Der aktuelle Wert kann durch Eintippen des Variablennamens gefolgt von Enter angezeigt werden.

Datentypen müssen in APL nicht deklariert werden: APL kennt keine Typenbindung.

      zahlen ← 17 4 4711 0 10000
      zahlen
17 4 4711 0 10000
      text←'Hallo, wie geht''s'
      text
Hallo, wie geht's?

Sie sehen in der ersten Zeile rechts neben „zahlen“ keinen Pfeil nach rechts? Was tun bei Problemen.

Die Grundrechenarten werden durch die aus der Mathematik bekannten Symbole dargestellt:

+ Addition
Subtraktion
× Multiplikation
÷ Division

Auch dies ist eine Besonderheit von APL: In den weitaus meisten Programmiersprachen werden Division und Multiplikation durch / und * dargestellt.

Beispiel:

     3×zahlen
51 12 14133 0 30000

APL unterscheidet zwischen der Funktion Minus und dem Vorzeichen:

     3-1 
2 
     3-6
¯3
     3-¯1
4

Die meisten „eingebauten“ APL-Funktionen können mit einem rechten und einem linken Argument verwendet werden oder nur mit einem rechten Argument. Hier die Funktion „Multiplikation“ mit rechtem und linkem Argument (dyadische Funktion):

     3×7
     | |
     | '--- rechtes Argument
     '----- linkes Argument
21

Die Funktion „Signum“ (monadische Funktion; gleiches Symbol aber nur ein rechtes und kein linkes Argument):

     ×1 ¯10 ¯3 0 1 2 3
      |
      '--- rechtes Argument (Vektor mit 7 Zahlen)
1 ¯1 ¯1 0 1 1 1

Die „normale“ Abarbeitung von Ausdrücken (von rechts nach links):

     1.2×10+20
     \ \/
      \ 30 Auswerten der Addition 10+20
       \/
       36 Auswerten der Multiplikation 1.2×30

Durch Klammern kann die Abarbeitungsreihenfolge beeinflusst werden:

     (1.2×10)+20
       \/ /
       12/ Auswerten der Multiplikation 1.2×10
       \/
       22 Auswerten der Addition 12+20

Weitere Beispiele finden Sie im Online-Tutorial auf dem APL Wiki (Englisch) oder in den einschlägigen APL-Lehrbüchern, siehe die Literaturliste.