J ist eine array-orientierte Programmiersprache, die Kenneth E. Iverson und Roger Hui Anfang der 1990er-Jahre entwickelten. Sie überträgt die Ideen von APL auf den normalen ASCII-Zeichensatz, ist frei verfügbar (GPL) und gilt als die wichtigste Weiterentwicklung der Iverson-Linie.
Erste Schritte
Die interaktive Konsole heißt jconsole. Funktionen heißen Verben, Modifikatoren Adverbien:
+/ i.5
10
2 * 1 2 3
2 4 6
i.5 erzeugt 0 1 2 3 4, +/ ist die Insertion der Addition über den ganzen Vektor.
Wichtige Verben
i. n— Vektor 0 1 ... n-1# y— Anzahl der Elemente+/ y— Summe (Insertion)%— Division,*:— Quadrat>./<.— Maximum/Minimum|. y— umkehren (Reverse)/:/:— auf-/absteigend sortieren
Tacit Programming
Charakteristisch für J ist die tacite (punktfreie) Notation: Fork (f g h) y bedeutet (f y) g (h y), ein Hook (f g) y bedeutet y f (g y). So entstehen komplexe Funktionen ohne benannte Zwischenwerte:
mean =: +/ % #
mean 2 4 6
4
Die kurze Notation stammt aus APL; verwandte Sprachen derselben Familie sind Q und K.