APL (lenguaje de programación)

APL
clase de idioma vectorial , funcional , estructural , modular
Apareció en 1964
Autor Kenneth Iverson
Desarrollador Kenneth Iverson , IBM y Lawrence Breed [d]
sistema de tipos dinámica
Implementaciones principales IBM APL2, Dyalog APL, APL2000, Sharp APL, APLX
Dialectos A+ , Dialog APL, APLSiguiente
sido influenciado notación matemática
influenciado J , [1] K , [2] Mathematica , [3] MATLAB , [3] Nial , [4] PPL , Q
 Archivos multimedia en Wikimedia Commons

APL (llamado así por el libro Un lenguaje de programación ) [5]  es un lenguaje de programación optimizado para trabajar con arreglos , el antecesor de los entornos informáticos científicos modernos como MATLAB , utiliza un paradigma de programación funcional .

En su campo de aplicación (física, modelado matemático , procesamiento de datos), APL es un lenguaje poderoso con una sintaxis concisa y expresiva. Por ejemplo:

N ← 4 5 6 7 Asigne a la matriz N los valores 4 5 6 7.
N+4 Incrementa los valores de la matriz N en 4 e imprímelo. El resultado de la matriz anterior será: 8 9 10 11.
+/N Imprime la suma de los elementos del arreglo N, es decir, 22.

Una gran cantidad de caracteres especiales en la sintaxis de APL, el estilo funcional y las notaciones cortas (la mayoría de las operaciones se indican con 1 o 2 caracteres de un alfabeto especial) hacen que los programas de APL sean extremadamente incomprensibles para los no iniciados. Al mismo tiempo, algunos signos: las palabras clave del idioma han ido más allá del APL real y se usan en textos científicos sobre matemáticas e informática (ver símbolos de Iverson, paréntesis de Iverson ).

Historia

El lenguaje APL fue desarrollado por Ken Iverson , que entonces enseñaba en la Universidad de Harvard , como una notación para describir la computación. En 1957, se publicó su libro "A Program Language" [5] , en el que se describía esta notación. En 1960, Iverson continuó trabajando en APL en IBM . Aquí, este lenguaje se usó para describir la arquitectura de la máquina. [6] [7]

El primer intento de implementar APL fue el intérprete IVSYS escrito para IBM 7090 en Fortran en 1965 . [8] Sin embargo, aún no usaba el conjunto de caracteres APL, reemplazándolos con palabras clave en inglés. Un año después, este intérprete fue portado a IBM/360 . También en 1966, APL se implementó por primera vez utilizando un terminal especializado basado en IBM 1050.y un dispositivo de impresión con un cabezal de impresión reemplazable correspondiente. En 1967, IBM lanza la implementación de APL para IBM 1130., conocido como APL\1130. [9] [10] . Debido a la brevedad de las expresiones en APL, el lenguaje tenía unos pocos seguidores dedicados que se enorgullecían de hacer que los programas complejos fueran fáciles de escribir.

APL se implementó en el firmware de la computadora portátil IBM 5100 , producida entre 1973 y 1982, a veces denominada la "primera computadora personal". Una de las primeras computadoras portátiles  , lanzada en 1985, Ampere WS-1 [11] también estaba orientada para trabajar con APL .

A principios de la década de 1980, el Centro de Computación de la Academia de Ciencias de la URSS desarrolló un software original para trabajar con APL en minicomputadoras de la serie SM-4, SM-1420 y microcomputadoras Elektronika-60 , DVK , Elektronika-85 . Desarrollador - A. V. Kondrashev. El complejo incluía: software intérprete del lenguaje APL; chips generadores de caracteres para admitir caracteres APL en los monitores alfanuméricos más populares; versión del intérprete en la placa PROM para Elektronika-60 y DVK. Se apoyó el trabajo con monitores gráficos y plotters, así como el uso de discos e impresoras de la minicomputadora central. Junto con el uso tradicional de los sistemas APL en sistemas de análisis de datos, también se desarrollaron sistemas de software y hardware en la URSS para su uso en la industria y la energía nuclear.

Actualmente, el lenguaje APL es compatible con casi todas las plataformas de hardware, desde estaciones de trabajo hasta computadoras de mano. La lengua tiene conferencias anuales dentro de la Association for Computer Machinery ( ACM ). Un desarrollo adicional de APL son los lenguajes J y K.

Implementaciones APL

Abrir Comercial

Notas

  1. Una bibliografía de APL y J . jsoftware.com. Consultado el 3 de febrero de 2010. Archivado desde el original el 23 de agosto de 2011.
  2. Kx Systems - Una entrevista con Arthur Whitney - enero de 2004 . Kx.com (4 de enero de 2004). Consultado el 3 de febrero de 2010. Archivado desde el original el 23 de agosto de 2011.
  3. 1 2 El crecimiento de MatLab - Cleve Moler (PDF). Consultado el 3 de febrero de 2010. Archivado desde el original el 23 de agosto de 2011.
  4. Acerca de Q'Nial . Nial.com. Consultado el 3 de febrero de 2010. Archivado desde el original el 23 de agosto de 2011.
  5. 1 2 Copia archivada (enlace no disponible) . Consultado el 30 de octubre de 2010. Archivado desde el original el 4 de junio de 2009.   Copia archivada (enlace no disponible) . Consultado el 30 de octubre de 2010. Archivado desde el original el 4 de junio de 2009. 
  6. Notación de programación en diseño de sistemas K.E. Iverson, IBM Systems Journal, 1963 . Fecha de acceso: 30 de octubre de 2010. Archivado desde el original el 24 de diciembre de 2014.
  7. Una descripción formal de SYSTEM/360 AD Falkoff, KE Iverson y EH Sussenguth, IBM Systems Journal 3.3, 1964 . Fecha de acceso: 30 de octubre de 2010. Archivado desde el original el 24 de diciembre de 2014.
  8. Abrams, Philip S., An interpreter for "Iverson notation" Archivado el 16 de diciembre de 2010 en Wayback Machine , Informe técnico: CS-TR- 66-47 , Departamento de informática, Universidad de Stanford, agosto de 1966.
  9. Larry Raza Cómo llegamos a APL\1130  (indefinido)  // Vector (Asociación británica de APL). - 2006. - Agosto ( vol. 22 , no. 3 ). Archivado desde el original el 12 de mayo de 2008.
  10. APL\1130 Manual Archivado el 21 de febrero de 2011 en Wayback Machine , mayo de 1969
  11. Hermanos menores. Historia de las primeras computadoras portátiles . Consultado el 30 de octubre de 2010. Archivado desde el original el 13 de octubre de 2010.

Literatura

  • Magariu N.A. Lenguaje de programación APL. - M. : "Radio y comunicación", 1983. - 96 p.
  • Estándar ISO 13751 Lenguaje de programación APL extendido

Enlaces