APL (ohjelmointikieli)

APL
Kieliluokka vektori , toiminnallinen , rakenteellinen , modulaarinen
Esiintyi 1964
Tekijä Kenneth Iverson
Kehittäjä Kenneth Iverson , IBM ja Lawrence Breed [d]
Tyyppijärjestelmä dynaaminen
Tärkeimmät toteutukset IBM APL2, Dyalog APL, APL2000, Sharp APL, APLX
Murteet A+ , Dyalog APL, APLNext
Vaikutettu matemaattinen merkintä
vaikutti J , [1] K , [2] Mathematica , [3] MATLAB , [3] Nial , [4] PPL , Q
 Mediatiedostot Wikimedia Commonsissa

APL (nimetty kirjan A Programming Language mukaan ) [5]  on ohjelmointikieli , joka on optimoitu työskentelemään taulukoiden kanssa , nykyaikaisten tieteellisten laskentaympäristöjen, kuten MATLABin , edeltäjä, joka käyttää toiminnallista ohjelmointiparadigmaa .

Sovellusalueellaan (fysiikka, matemaattinen mallintaminen , tietojenkäsittely) APL on tehokas kieli, jolla on ytimekäs ja ilmeikäs syntaksi. Esimerkiksi:

N ← 4 5 6 7 Anna taulukolle N arvot 4 5 6 7.
N+4 Kasvata taulukon N arvoja 4:llä ja tulosta se. Edellisen taulukon tulos on: 8 9 10 11.
+/N Tulosta taulukon N alkioiden summa, eli 22.

Suuri määrä erikoismerkkejä APL-syntaksissa, toiminnallinen tyyli ja lyhyet merkinnät (useimmat toiminnot on merkitty erikoisaakkosten 1-2 merkillä) tekevät APL-ohjelmista äärimmäisen käsittämättömiä perehtymättömille. Samaan aikaan jotkut merkit - kielen avainsanat ovat menneet varsinaisen APL:n ulkopuolelle ja niitä käytetään matematiikan ja tietojenkäsittelytieteen tieteellisissä teksteissä (katso Iversonin symbolit , Iversonin hakasulke ).

Historia

APL-kielen kehitti Ken Iverson , joka opetti tuolloin Harvardin yliopistossa , merkintänä laskennan kuvaamiseen. Vuonna 1957 julkaistiin hänen kirjansa "A Program Language" [5] , jossa tätä merkintää kuvattiin. Vuonna 1960 Iverson jatkoi APL-työtä IBM :llä . Tässä tätä kieltä käytettiin kuvaamaan konearkkitehtuuria. [6] [7]

Ensimmäinen yritys toteuttaa APL oli IVSYS - tulkki , joka kirjoitettiin IBM 7090 : lle Fortranissa vuonna 1965 . [8] Se ei kuitenkaan vielä käyttänyt APL-merkistöä, vaan korvasi ne englanninkielisillä avainsanoilla. Vuotta myöhemmin tämä tulkki siirrettiin IBM/360:een . Myös vuonna 1966 APL otettiin ensimmäisen kerran käyttöön IBM 1050 -pohjaiseen erikoispäätteeseen.ja tulostuslaite, jossa on vastaava vaihdettava tulostuspää. Vuonna 1967 IBM julkaisee APL-toteutuksen IBM 1130:lle., joka tunnetaan nimellä APL\1130. [9] [10] . APL:n ilmaisujen lyhyyden vuoksi kielellä oli muutamia, mutta omistautuneita kannattajia, jotka olivat ylpeitä siitä, että monimutkaisista ohjelmista oli helppo kirjoittaa.

APL otettiin käyttöön vuosina 1973-1982 valmistetun IBM 5100 kannettavan tietokoneen laiteohjelmistossa , jota joskus kutsutaan "ensimmäiseksi henkilökohtaiseksi tietokoneeksi". Yksi ensimmäisistä kannettavista tietokoneista  , joka julkaistiin vuonna 1985, Ampere WS-1 [11] oli myös suunnattu toimimaan APL:n kanssa .

1980- luvun alussa Neuvostoliiton tiedeakatemian laskentakeskus kehitti alkuperäisen ohjelmiston APL-työskentelyyn SM-4-, SM-1420-sarjan minitietokoneissa ja mikrotietokoneissa Elektronika-60 , DVK , Elektronika-85 . Kehittäjä - A. V. Kondrashev. Kompleksi sisälsi: APL-kielen ohjelmistotulkki; merkkigeneraattorisirut, jotka tukevat APL-merkkejä suosituimmissa aakkosnumeerisissa näytöissä; tulkin versio PROM-kortilla Elektronika-60:lle ja DVK:lle. Työtä graafisten näyttöjen ja plotterien kanssa tuettiin sekä keskusminitietokoneen levyjen ja tulostimien käyttöä. APL-järjestelmien perinteisen käytön ohella tietojen analysointijärjestelmissä Neuvostoliitossa kehitettiin myös ohjelmisto- ja laitteistojärjestelmiä teollisuuden ja ydinenergian käyttöön.

Tällä hetkellä APL-kieltä tuetaan lähes kaikilla laitteistoalustoilla työasemista kämmentietokoneisiin. Kielellä on vuosittaisia ​​konferensseja Association for Computer Machinery:ssä ( ACM ). APL:n jatkokehitys ovat J- ja K -kielet .

APL-toteutukset

Avaa Kaupallinen

Muistiinpanot

  1. APL:n ja J:n bibliografia . jsoftware.com. Haettu 3. helmikuuta 2010. Arkistoitu alkuperäisestä 23. elokuuta 2011.
  2. Kx Systems - haastattelu Arthur Whitneyn kanssa - tammikuu 2004 . Kx.com (4. tammikuuta 2004). Haettu 3. helmikuuta 2010. Arkistoitu alkuperäisestä 23. elokuuta 2011.
  3. 1 2 MatLabin kasvu - Cleve Moler (PDF). Haettu 3. helmikuuta 2010. Arkistoitu alkuperäisestä 23. elokuuta 2011.
  4. Tietoja Q'Nialista . Nial.com. Haettu 3. helmikuuta 2010. Arkistoitu alkuperäisestä 23. elokuuta 2011.
  5. 1 2 Arkistoitu kopio (linkki ei ole käytettävissä) . Haettu 30. lokakuuta 2010. Arkistoitu alkuperäisestä 4. kesäkuuta 2009.   Arkistoitu kopio (linkki ei saatavilla) . Haettu 30. lokakuuta 2010. Arkistoitu alkuperäisestä 4. kesäkuuta 2009. 
  6. Ohjelmointimerkintä järjestelmäsuunnittelussa K.E. Iverson, IBM Systems Journal, 1963 . Käyttöpäivä: 30. lokakuuta 2010. Arkistoitu alkuperäisestä 24. joulukuuta 2014.
  7. Muodollinen kuvaus tuotteesta SYSTEM/360 AD Falkoff, KE Iverson ja EH Sussenguth, IBM Systems Journal 3.3, 1964 . Käyttöpäivä: 30. lokakuuta 2010. Arkistoitu alkuperäisestä 24. joulukuuta 2014.
  8. Abrams, Philip S., "Iverson-merkintöjen" tulkki Arkistoitu 16. joulukuuta 2010 Wayback Machinessa , tekninen raportti: CS-TR- 66-47 , tietojenkäsittelytieteen laitos, Stanfordin yliopisto, elokuu 1966.
  9. Larry Breed How We Got to APL\1130  (indefinite)  // Vector (British APL Association). - 2006. - elokuu ( osa 22 , nro 3 ) Arkistoitu alkuperäisestä 12. toukokuuta 2008.
  10. APL\1130 Manual arkistoitu 21. helmikuuta 2011 Wayback Machinessa , toukokuussa 1969
  11. Nuoremmat veljet. Ensimmäisten kannettavien tietokoneiden historia . Haettu 30. lokakuuta 2010. Arkistoitu alkuperäisestä 13. lokakuuta 2010.

Kirjallisuus

  • Magariu N.A. Ohjelmointikieli APL. - M . : "Radio ja viestintä", 1983. - 96 s.
  • ISO-standardin 13751 ohjelmointikieli APL laajennettu

Linkit