APL (programmeringssprog)

APL
Sprog klasse vektor , funktionel , strukturel , modulær
Dukkede op i 1964
Forfatter Kenneth Iverson
Udvikler Kenneth Iverson , IBM og Lawrence Breed [d]
Type system dynamisk
Større implementeringer IBM APL2, Dyalog APL, APL2000, Sharp APL, APLX
Dialekter A+ , Dyalog APL, APLNext
Blev påvirket matematisk notation
påvirket J , [1] K , [2] Mathematica , [3] MATLAB , [3] Nial , [4] PPL , Q
 Mediefiler på Wikimedia Commons

APL (opkaldt efter bogen A Programming Language ) [5]  er et programmeringssprog optimeret til at arbejde med arrays , forløberen for moderne videnskabelige computermiljøer såsom MATLAB , bruger et funktionelt programmeringsparadigme .

I sit anvendelsesområde (fysik, matematisk modellering , databehandling) er APL et kraftfuldt sprog med en kortfattet og udtryksfuld syntaks. For eksempel:

N ← 4 5 6 7 Tildel arrayet N værdierne 4 5 6 7.
N+4 Forøg værdierne af array N med 4, og udskriv det. Resultatet for det forrige array bliver: 8 9 10 11.
+/N Udskriv summen af ​​elementerne i arrayet N, det vil sige 22.

Et stort antal specialtegn i APL-syntaksen, funktionel stil og korte notationer (de fleste operationer er angivet med 1-2 tegn i et særligt alfabet) gør APL-programmer ekstremt uforståelige for uindviede. Samtidig er nogle tegn - sprogets nøgleord er gået ud over selve APL og bruges i videnskabelige tekster om matematik og datalogi (se Iverson-symboler , Iverson- parentes ).

Historie

APL-sproget blev udviklet af Ken Iverson , der dengang underviste ved Harvard University , som en notation til at beskrive beregning. I 1957 udkom hans bog "A Program Language" [5] , hvori denne notation blev beskrevet. I 1960 fortsatte Iverson arbejdet med APL hos IBM . Her blev dette sprog brugt til at beskrive maskinarkitektur. [6] [7]

Det første forsøg på at implementere APL var IVSYS- tolken skrevet til IBM 7090 i Fortran i 1965 . [8] Den brugte dog endnu ikke APL-tegnsættet, og erstattede dem med nøgleord på engelsk. Et år senere blev denne tolk porteret til IBM/360 . Også i 1966 blev APL først implementeret ved hjælp af en specialiseret terminal baseret på IBM 1050og en printindretning med et tilsvarende udskifteligt printhoved. I 1967 frigiver IBM APL-implementeringen til IBM 1130., kendt som APL\1130. [9] [10] . På grund af de korte udtryk i APL havde sproget nogle få, men dedikerede tilhængere, som var stolte af at gøre komplekse programmer nemme at skrive.

APL blev implementeret i firmware til IBM 5100 bærbare computer , produceret fra 1973-1982, nogle gange omtalt som den "første personlige computer". En af de første bærbare computere  , udgivet i 1985, Ampere WS-1 [11] var også orienteret til at arbejde med APL .

I begyndelsen af ​​1980'erne udviklede Computing Center for USSR Academy of Sciences original software til at arbejde med APL på minicomputere i SM-4, SM-1420-serien og mikrocomputere Elektronika-60 , DVK , Elektronika-85 . Udvikler - A. V. Kondrashev. Komplekset omfattede: softwarefortolker af APL-sproget; tegngeneratorchips til at understøtte APL-tegn på de mest populære alfanumeriske skærme; version af tolken på PROM-tavlen til Elektronika-60 og DVK. Arbejdet med grafiske skærme og plottere blev understøttet, samt brugen af ​​diske og printere på den centrale minicomputer. Sammen med den traditionelle brug af APL-systemer i dataanalysesystemer blev software- og hardwaresystemer også udviklet i USSR til brug i industri og atomenergi.

I øjeblikket understøttes APL-sproget på næsten alle hardwareplatforme fra arbejdsstationer til håndholdte computere. Sproget har årlige konferencer inden for Foreningen for Computermaskiner ( ACM ). En videreudvikling af APL er J- og K -sprogene .

APL implementeringer

Åbn Kommerciel

Noter

  1. En bibliografi over APL og J . jsoftware.com. Hentet 3. februar 2010. Arkiveret fra originalen 23. august 2011.
  2. Kx Systems - An Interview with Arthur Whitney - Jan 2004 . Kx.com (4. januar 2004). Hentet 3. februar 2010. Arkiveret fra originalen 23. august 2011.
  3. 1 2 The Growth of MatLab - Cleve Moler (PDF). Hentet 3. februar 2010. Arkiveret fra originalen 23. august 2011.
  4. Om Q'Nial . Nial.com. Hentet 3. februar 2010. Arkiveret fra originalen 23. august 2011.
  5. 1 2 Arkiveret kopi (link utilgængeligt) . Hentet 30. oktober 2010. Arkiveret fra originalen 4. juni 2009.   Arkiveret kopi (ikke tilgængeligt link) . Hentet 30. oktober 2010. Arkiveret fra originalen 4. juni 2009. 
  6. Programmeringsnotation i systemdesign K.E. Iverson, IBM Systems Journal, 1963 . Dato for adgang: 30. oktober 2010. Arkiveret fra originalen den 24. december 2014.
  7. En formel beskrivelse af SYSTEM/360 AD Falkoff, KE Iverson og EH Sussenguth, IBM Systems Journal 3.3, 1964 . Dato for adgang: 30. oktober 2010. Arkiveret fra originalen den 24. december 2014.
  8. Abrams, Philip S., An interpreter for "Iverson notation" Arkiveret 16. december 2010 på Wayback Machine , teknisk rapport: CS-TR- 66-47 , Department of Computer Science, Stanford University, august 1966.
  9. Larry Breed Hvordan vi kom til APL\1130  (ubestemt)  // Vector (British APL Association). - 2006. - August ( bind 22 , nr. 3 ). Arkiveret fra originalen den 12. maj 2008.
  10. APL\1130 Manual Arkiveret 21. februar 2011 på Wayback Machine , maj 1969
  11. Yngre brødre. Historien om de allerførste bærbare computere . Hentet 30. oktober 2010. Arkiveret fra originalen 13. oktober 2010.

Litteratur

  • Magariu N.A. Programmeringssprog APL. - M . : "Radio og kommunikation", 1983. - 96 s.
  • ISO standard 13751 Programmeringssprog APL udvidet

Links