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 ).
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.
Lenguajes de programación | |
---|---|
|