APL (langage)

APL
Logo.

Date de première version 1966
Paradigme matriciel, Fonctionnel, Programmation structurée, tacite
Auteur Kenneth E. Iverson
Développeur Larry Breed, Dick Lathwell, Roger Moore et al.
Dernière version ISO/IEC 13751:2001 ()
Typage dynamique
Influencé par Notation (mathématiques)
A influencé Langage J, Matlab, A+
Implémentations APL\360 APL\1130 APL*Plus Sharp APL APL2 Dyalog APL NARS2000 APLX GNU APL
Système d'exploitation Multiplate-forme, Windows, GNU/Linux, Mac OS X
Licence propriétaire, GPL
Extensions de fichiers .apl

L'APL (initialement A Programming Language, officieusement Array-Processing Language[1]) est un langage de description de traitement de l'information devenu ensuite langage de programmation conçu entre 1957 et 1967 à Harvard par Kenneth Iverson pour décrire commodément des opérations globales sur des tableaux (booléens, numériques ou, dans une moindre mesure, de caractères). Iverson décrivait la grammaire de son langage comme similaire à celle d'un langage naturel (substantifs, verbes, adverbes, conjonctions, copules et ponctuation)[2]. Le langage n'utilise cependant pas de mots, mais beaucoup de signes, chacun correspondant à un concept précis[3],[4].

Révolutionnaire à son lancement (usage du terminal à boule ou à écran alors que la carte perforée ou le télétype ASR33 (en) restaient encore la référence, aucune déclaration nécessaire, typage et dimensionnement des variables inutile, gestion dynamique de mémoire, interactivité totale, concision par traitement direct des tableaux évitant l'écriture de boucles, persistance), il connut un succès croissant jusqu'au milieu des années 1980, époque où le tableur le concurrença pour les petits travaux, et des outils comme SAS, puis R pour le travail sur de plus grands volumes de données que ceux des tableurs de 1985.

En 2020, la disponibilité de processeurs très rapides adressant plusieurs gigaoctets de mémoire vive et l'existence d'interpréteurs Open Source peuvent le rendre à nouveau intéressant pour un public de passionnés[5],[6]. Rob Pike, créateur du langage Go, en parle en 2014 avec enthousiasme[7] et en 2020, il livre au public le code source du langage Ivy, une fondation d'APL en langage Go[8].

Dans sa version GNU APL, il est même utilisable comme langage de script.

  • Le langage APL de départ fait l'objet de la norme ISO 8485 (1989).
  • L'APL étendu (fondé sur APL2) est fixé par la norme ISO/CEI 13751 (2001).

Note : Vérifiez que votre navigateur accepte bien l’Unicode ; dans le cas contraire, vous verrez s’afficher des rectangles blancs ou des points d’interrogation à la place des caractères APL. Cette question est détaillée sur la Toile[9]. Aujourd'hui (2017) les navigateurs sur PC comme Mozilla Firefox ou Microsoft Edge ne posent aucun problème pour afficher les caractères APL en Unicode. Quelques problèmes d'affichage résiduels subsistent encore sur tablettes Android.