APL

APL
Para otros usos de este término, véase Bibloteca Pública de Austin.

APL (A Programing Language, también conocido como Array Processing Language desde hace algunos años) es un lenguaje de programación interpretado desarrollado por Kenneth Iverson, de IBM, a finales de los años 60.

Contenido

Características

Es un lenguaje muy conciso, con una sintaxis muy sencilla. Está orientado a trabajos con matrices, con la que se pueden hacer todo tipo de operaciones lógicas o matemáticas. Incluso se pueden definir nuevas operaciones matriciales.

Es de una potencia tremenda. Una sola sentencia puede traducirse en miles de ellas en otros lenguajes, como por ejemplo Fortran. Como ejemplo, el lenguaje de simulación de circuitos, SIAL, ocupaba cerca de 25 000 sentencias en Fortran-Assembler y, al ser reescrito en APL, todo el programa se podía imprimir en dos folios.[1] 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...) mediante los llamados procesadores auxiliares.

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

Sus problemas radican en que:

  1. Necesita teclado especial para poner los operadores lógicos y simbólicos.
  2. Los programas escritos en APL son tan concisos que son difíciles de documentar y de comprender.

Aplicaciones del APL

El APL, al ser tan conciso, es un lenguaje que permite un ciclo de desarrollo muy veloz. Por otra parte, al ser interpretado, la velocidad de ejecución es típicamente más lenta que la de los lenguajes de programación compilados. Por ello, se considera un buen lenguaje para el desarrollo de prototipos.

Entre sus aplicaciones más conocidas está su uso en la película Tron de Walt Disney para la generación de los efectos especiales,[2] y en el sistema Deep Blue de IBM que venció a Kasparov al ajedrez.[cita requerida].[3]


Como curiosidad, en la novela Cheap Complex Devices de J. C. Sundman, el autor afirma que el contenido del libro ha sido generado automáticamente por un ordenador escrito en APL, lo que le ha valido el premio Douglas R. Hofstadter de creación de novelas por ordenador en 1997.[4] Todo ello, naturalmente, es un artificio literario.

Sucesores del APL

Kenneth Iverson, posteriormente, estuvo al frente del desarrollo de un lenguaje de programación que presentaban como el sucesor de APL, llamado J. Una de las características particulares de J es lo que se ha dado en denominar programación funcional tácita; donde se considera que para expresar programas no es necesario nombrar variables, ni parámetros a funciones (Estos conceptos de programación tácita han sido incorporados al lenguaje Logo en la biblioteca LogoFE). En J, la variedad de las rutinas que en APL se llaman operadores es mucho mayor.

Referencias

  1. M. Alfonseca, "SIAL/71, a Continuous Simulation Compiler", in "Advances in Cybernetics and Systems", Ed. J. Rose, Gordon and Breach, London, Vol. 3, 1974, 1319-1340.
  2. David Selby, "Jottings from the business intelligence jungle". In APL '02: Proceedings of the 2002 conference on APL, 2002, páginas 190-197.
  3. Javier Cordero Fernández - Ajedrez de ataque. «Kasparov vs Deep Blue, Filadelfia 1996 y Nueva York 1997» (en español).
  4. «Wetmachine».

Enlaces externos

  • APL - Mi Universo HACT Breve introducción en español a las convenciones sintácticas del lenguaje y biografía de K. E. Iverson

Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • Apl.de.ap — Datos generales Nacimiento 28 noviembre 1974 (37 años) Origen …   Wikipedia Español

  • apl.de.ap — aux Filipino American Library Spirit Awards à Los Angeles. Nom Allen Pineda Lindo Naissance …   Wikipédia en Français

  • Apl.de.ap — apl.de.ap aux Filipino American Library Spirit Awards à Los Angeles. Nom Allen Pineda Lindo Naissance …   Wikipédia en Français

  • Apl De Ap — apl.de.ap (links) mit Fergie, ebenfalls Mitglied der Black Eyed Peas Apl De Ap (* 28. November 1974 in Pampanga, Sapangbato, Angeles, Philippinen; eigentlich Allan Pineda Lindo), auch apl.de.ap, ist ein US amerikanischer Musiker. Apl De Ap,… …   Deutsch Wikipedia

  • apl.de.ap — bei einer Preisverleihung 2006 apl.de.ap (* 28. November 1974 in Pampanga, Sapangbato, Angeles City, Philippinen; eigentlich Allan Pineda Lindo), ist ein US amerikanischer Musiker. apl.de.ap, dessen Mutter Filipina und dessen Vater Afroamerikaner …   Deutsch Wikipedia

  • APL — is an abbreviation, acronym, or initialism that may refer to: *APL (programming language), a computer programming language with specialized array processing capabilities *Above Poverty Line, the section of people who can fulfil their minimum… …   Wikipedia

  • Apl.de.ap — и Ферги Аллен Пинеда Линдо (англ. Allan Pineda Lindo)  участник коллектива Black Eyed Peas, выступающий под псевдонимом apl.de.ap …   Википедия

  • APL — (A Programming Language) Langage algorithmique de caractère mathématique essentiellement conçu pour l’enseignement des mathématiques et la recherche théorique ou appliquée; cependant sa facilité d’emploi et sa généralité le rendent accessible à… …   Encyclopédie Universelle

  • Apl — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. {{{image}}}   Sigles d une seule lettre   Sigles de deux lettres > Sigles de trois lettres …   Wikipédia en Français

  • APL — 〈Abk. für engl.〉 A Programming Language (eine Programmiersprache) * * * APL   [Abk. für A Programming Language; dt. »eine Programmiersprache«], eine Programmiersprache, die auf ein 1962 veröffentlichtes Buch des an der Harvard Universität tätigen …   Universal-Lexikon

  • apl. — apl. 〈Abk. für〉 außerplanmäßig ● apl. Professor * * * apl.,   Abkürzung für außerplanmäßig, z. B. apl. Professor, außerplanmäßiger Professor. * * * apl. [Prof.] = außerplanmäßig[er Professor] …   Universal-Lexikon

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”