APL (limbaj de programare)

APL
Clasa de limba vector , funcțional , structural , modular
Aparut in 1964
Autor Kenneth Iverson
Dezvoltator Kenneth Iverson , IBM și Lawrence Breed [d]
Tip sistem dinamic
Implementări majore IBM APL2, Dyalog APL, APL2000, Sharp APL, APLX
Dialectele A+ , Dialog APL, APLNext
A fost influențat notatie matematica
influențat J , [1] K , [2] Mathematica , [3] MATLAB , [3] Nial , [4] PPL , Q
 Fișiere media la Wikimedia Commons

APL (numit după cartea A Programming Language ) [5]  este un limbaj de programare optimizat pentru lucrul cu matrice , predecesorul mediilor de calcul științifice moderne, cum ar fi MATLAB , folosește o paradigmă de programare funcțională .

În domeniul său de aplicare (fizică, modelare matematică , prelucrare a datelor), APL este un limbaj puternic, cu o sintaxă concisă și expresivă. De exemplu:

N ← 4 5 6 7 Atribuiți matricei N valorile 4 5 6 7.
N+4 Creșteți valorile matricei N cu 4 și imprimați-o. Rezultatul pentru matricea anterioară va fi: 8 9 10 11.
+/N Tipăriți suma elementelor matricei N, adică 22.

Un număr mare de caractere speciale în sintaxa APL, stilul funcțional și notațiile scurte (majoritatea operațiilor sunt notate cu 1-2 caractere dintr-un alfabet special) fac programele APL extrem de neînțelese pentru cei neinițiați. În același timp, unele semne - cuvintele cheie ale limbii au depășit APL-ul propriu-zis și sunt folosite în texte științifice despre matematică și informatică (vezi simboluri Iverson , paranteză Iverson ).

Istorie

Limbajul APL a fost dezvoltat de Ken Iverson , apoi preda la Universitatea Harvard , ca notație pentru descrierea calculelor. În 1957, a fost publicată cartea sa „A Program Language” [5] , în care a fost descrisă această notație. În 1960, Iverson a continuat să lucreze la APL la IBM . Aici, acest limbaj a fost folosit pentru a descrie arhitectura mașinii. [6] [7]

Prima încercare de a implementa APL a fost interpretul IVSYS scris pentru IBM 7090 în Fortran în 1965 . [8] Cu toate acestea, nu a folosit încă setul de caractere APL, înlocuindu-le cu cuvinte cheie în limba engleză. Un an mai târziu, acest interpret a fost portat pe IBM/360 . Tot în 1966, APL a fost implementat pentru prima dată folosind un terminal specializat bazat pe IBM 1050 .și un dispozitiv de imprimare cu un cap de imprimare înlocuibil corespunzător. În 1967, IBM lansează implementarea APL pentru IBM 1130., cunoscut ca APL\1130. [9] [10] . Datorită conciziei expresiilor din APL, limbajul a avut câțiva adepți, dar dedicați, care se mândreau că fac programe complexe ușor de scris.

APL a fost implementat în firmware pentru computerul portabil IBM 5100 , produs în perioada 1973-1982, denumit uneori „primul computer personal”. Unul dintre primele laptopuri  , lansat în 1985, Ampere WS-1 [11] a fost, de asemenea, orientat să lucreze cu APL .

La începutul anilor 1980, Centrul de Calcul al Academiei de Științe a URSS a dezvoltat un software original pentru lucrul cu APL pe minicalculatoare din seria SM-4, SM-1420 și micro-calculatoare Elektronika-60 , DVK , Elektronika-85 . Dezvoltator - A. V. Kondrashev. Complexul a inclus: interpret software al limbajului APL; cipuri generatoare de caractere pentru a accepta caractere APL pe cele mai populare monitoare alfanumerice; versiunea interpretului de pe placa PROM pentru Elektronika-60 și DVK. A fost acceptată lucrul cu monitoare grafice și plotere, precum și utilizarea de discuri și imprimante ale minicalculatorului central. Odată cu utilizarea tradițională a sistemelor APL în sistemele de analiză a datelor, în URSS au fost dezvoltate și sisteme software și hardware pentru utilizare în industrie și energie nucleară.

În prezent, limbajul APL este acceptat pe aproape toate platformele hardware, de la stații de lucru la computere portabile. Limba are conferințe anuale în cadrul Asociației pentru Mașini de Calculatoare ( ACM ). O dezvoltare ulterioară a APL sunt limbajele J și K.

Implementări APL

Deschide Comercial

Note

  1. O bibliografie a APL și J . jsoftware.com. Consultat la 3 februarie 2010. Arhivat din original pe 23 august 2011.
  2. Kx Systems - Un interviu cu Arthur Whitney - ianuarie 2004 . Kx.com (4 ianuarie 2004). Consultat la 3 februarie 2010. Arhivat din original pe 23 august 2011.
  3. 1 2 Creșterea MatLab - Cleve Moler (PDF). Consultat la 3 februarie 2010. Arhivat din original pe 23 august 2011.
  4. Despre Q'Nial . Nial.com. Consultat la 3 februarie 2010. Arhivat din original pe 23 august 2011.
  5. 1 2 Copie arhivată (link indisponibil) . Consultat la 30 octombrie 2010. Arhivat din original pe 4 iunie 2009.   Copie arhivată (link indisponibil) . Consultat la 30 octombrie 2010. Arhivat din original pe 4 iunie 2009. 
  6. Notarea de programare în proiectarea sistemelor K.E. Iverson, IBM Systems Journal, 1963 . Data accesului: 30 octombrie 2010. Arhivat din original pe 24 decembrie 2014.
  7. O descriere formală a SYSTEM/360 AD Falkoff, KE Iverson și EH Sussenguth, IBM Systems Journal 3.3, 1964 . Data accesului: 30 octombrie 2010. Arhivat din original pe 24 decembrie 2014.
  8. Abrams, Philip S., An interpreter for "Iverson notation" Arhivat la 16 decembrie 2010 la Wayback Machine , Technical Report: CS-TR- 66-47 , Department of Computer Science, Stanford University, august 1966.
  9. Larry Breed Cum am ajuns la APL\1130  (nedefinit)  // Vector (Asociația APL britanică). - 2006. - august ( vol. 22 , nr. 3 ). Arhivat din original pe 12 mai 2008.
  10. Manual APL\1130 Arhivat 21 februarie 2011 la Wayback Machine , mai 1969
  11. Frații mai mici. Istoria primelor computere portabile . Consultat la 30 octombrie 2010. Arhivat din original pe 13 octombrie 2010.

Literatură

  • Magariu N.A. Limbajul de programare APL. - M . : „Radio și comunicare”, 1983. - 96 p.
  • Standardul ISO 13751 Limbajul de programare APL Extins

Link -uri