APL

APL (A Programing Language) es un lenguaje de programación que se originó a partir de una notación matemática desarrollada por Kenneth Iverson en 1957, quien lo implementó en 1962 cuando fue contratado por IBM ese mismo año.

Características

El APL es un lenguaje aplicativo, parecido a un lenguaje funcional, pero con asignación se podría decir que es un lenguaje para aplicar algo.

Utiliza operadores parametrizables por lo que es muy conciso; su sintaxis, aunque sencilla, está basada en (pocos) "operadores", y utiliza un conjunto especial de caracteres no presentes en el código ASCII. Básicamente [1] guage, debido a que su conjunto de operaciones se fundamente en un álgebra lineal abstracta. Por lo que es un lenguaje idóneo para trabajar con vectores y matrices. Cuenta con un repertorio de operadores que le permite componer nuevas operaciones lógicas o matemáticas.

Al contar con productos cruz y puntos generalizados, una sola sentencia puede traducirse en muchas líneas de otros lenguajes, como Fortran, Basic, PL1, C, etc. ya que, en esos, estas operaciones y otras se implementan mediante loops o ciclos iterativos.

Un ejemplo de ello, es el lenguaje de simulación de circuitos, SIAL, el cual ocupaba cerca de 25 000 sentencias en Fortran- Assembler y, al ser reescrito en APL, todo el programa podía ser impreso en dos folios.[2] Por otra parte, a pesar de ser un lenguaje de tan alto nivel, también es capaz de manipular a escala de bits y tiene interfaces con lenguajes de programación de bajo nivel (C, ensamblador, etc) mediante los llamados procesadores auxiliares.

Tiene la propiedad de que desde una rutina se puede (en tiempo de ejecución) crear, compilar y ejecutar, otras, lo que lo hace también muy apropiado para la elaboración automática de compiladores e intérpretes.

Algunas dificultades prácticas radican en que:

  1. Necesita pegatinas (o marcar con rotulador permanente) en el teclado, para poder ver los operadores (símbolos propios de APL) que se asignan a cada tecla (pueden re-definirse por el usuario cuando y como guste).
  2. Los programas escritos en APL son muy concisos y ello puede hacer que sean prolijos de documentar y de comprender para los principiantes. Sin embargo, para los iniciados, su brevedad y el orden de ejecución (cada sentencia siempre se ejecuta de derecha a izquierda), les facilita enormemente su seguimiento.
  3. Al ser interpretado (en tiempo de ejecución), su velocidad es típicamente algo más lenta que la de las aplicaciones con lenguajes de programación compilados. Por lo cual, hoy en día, con las grandes velocidades de los procesadores, no supone una desventaja apreciable, en la mayor parte de las aplicaciones. Por contra, facilita su prueba y revisión interactiva inmediata.
  4. Aunque existe una versión libre disponible en el catálogo de la "Free Software Fundation", la mayoría de los intérpretes o compiladores de APL, son de código cerrado y sus usuarios no comparten su código, lo que impide que se extienda su uso, al nivel que tienen otros lenguajes para hacer cálculos aritméticos como Matlab, Mathematica, SAGE, Maxima, Octave entre otros.
Other Languages
aragonés: APL
български: APL
dansk: APL
Esperanto: APL
eesti: APL
فارسی: ای‌پی‌ال
français: APL (langage)
Gaeilge: APL
galego: APL
magyar: APL
italiano: APL
日本語: APL
मराठी: एपीएल
português: APL
română: APL
srpskohrvatski / српскохрватски: APL (programski jezik)
српски / srpski: APL (programski jezik)
українська: APL
中文: APL語言