APL ist eine der ältesten (nach Alter) und jüngsten (nach Konzepten) Programmiersprachen überhaupt.
APL unterscheidet sich grundlegend von allen anderen Programmiersprachen:
- APL wird interpretiert.
- APL kennt keine Typenbindung.
- Ein APL-Programm kann ebenso wie seine Daten während der Programmausführung (!) geändert werden.
- APL kann Daten in jeder Form auf einen Schlag verarbeiten: Skalare (einzelne Werte), Vektoren und Matrizen ebenso wie höherdimensionale Arrays.
- APL ist die älteste funktionale Programmiersprache und unterstützt damit funktionales Programmieren ohne dies zu erzwingen.
- Moderne APL-Versionen unterstützen auch objektorientiertes programmieren.
APL-Programmierer realisieren seit Jahrzehnten komplexe Projekte in weitaus kürzerer Zeit als Programmierer dies mit anderen Sprachen können.
Dies ist der Hauptgrund, warum APL auch nach vielen Jahrzehnten immer noch erfolgreich ist.
Dabei verfolgen sie einen Ansatz, der nicht weiter von CASE entfernt sein könnte; dafür wurden sie lange Zeit scharf kritisiert, aber heute (2010) ist der Ansatz plötzlich Mainstream und wird „Agile Programming“ genannt.
APL wird insbesondere auch da verwendet, wo Anwendungen ständig an sich ändernde Anforderungen angepasst werden müssen.
Es mutet daher seltsam an, daß einer der Kritikpunkte an APL mit der Aussage „Write-once-read-never“ auf den Punkt gebracht wird.
Dies mag daher rühren, daß in einer einzigen Zeile APL ungeheuer viel passieren kann, manche Leute aber erwarten, diese eine Zeile so schnell und einfach zu verstehen wie eine Zeile Cobol. In einer Cobol-Zeile passiert nun aber im wesentlichen … nichts, oder jedenfalls nicht viel.
Sie wollen eine APL-Demo live sehen, vorgeführt von einem der Großmeister, John Scholes? Sehen Sie sich dieses YouTube-Video an und staunen Sie!