APL (Isang Programming Language): Programming na may Mga Simbolo?

Pagbubunyag: Tumutulong ang iyong suporta na panatilihing tumatakbo ang site! Kumikita kami ng bayad sa referral para sa ilan sa mga serbisyong inirerekumenda namin sa pahinang ito.


Ang isang Programming Language (APL) ay pinangalanan nang eponymous matapos ang isang librong inilathala ni Kenneth E Iverson noong 1962.

Ang APL ay isang natatanging wika ng programming na may matematika na idinisenyo para sa conciseness na maimpluwensyahan sa pagbuo ng mga modernong spreadsheet at matematika software packages.

Kasaysayan ng APL

Noong 1950s, isang propesor ng Harvard University ang lumikha ng isang sistema ng notasyon sa matematika na kapaki-pakinabang para sa pagmamanipula ng mga kumplikadong mga arrays ng impormasyon. Ang propesor na ito ay si Kenneth Iverson.

Noong 1960, nagpunta si Iverson para sa IBM kung saan, sa tulong ng mga computer system engineer na Adin Falkoff, lumikha siya ng isang programming language batay sa notasyon ng matematika na kanyang binuo habang nagtatrabaho sa akademya.

Ang wikang ito ng programming, kahit na hindi praktikal na ipatupad sa oras, gayunpaman ay nai-publish sa teksto na Isang Programming Language, at APL ay ipinanganak.

Una nang ginamit ang APL sa IBM upang magsagawa ng pananaliksik sa mga computer system. Gayunpaman, sa buong 1960, ang pagtanggap sa APL ay limitado ng hindi pangkaraniwang syntax na kinabibilangan ng maraming mga graphic na simbolo na hindi madaling mailalarawan sa mga computer sa oras na iyon. Bilang isang resulta, ang mga kinatawan ng keyword na dapat tandaan ay kailangang gamitin sa halip na ang tunay na mga simbolo na inilaan ni Iverson.

Ang lahat ng iyon ay nagbago noong huling bahagi ng 1960 noong naglabas ang IBM ng isang espesyal na typeball na maaaring gumawa ng mga espesyal na simbolo na ginamit sa APL.

Sabay-sabay na ipinakilala ng IBM ang APL sa pampublikong computing sa pamamagitan ng paggawa ng APL sa mga computer ng IBM mainframe. Sa susunod na 2 dekada, higit pa o mas kaunti, nanirahan ang APL sa mga computer ng mainframe na ipinamamahagi ng IBM at iba pang mga tagagawa ng hardware at software, hanggang sa mahuli ang personal na computer na kakayahan sa computer na may hinihingi na likas na katangian ng pag-iipon ng APL.

Noong unang bahagi ng 1980s, pinakawalan ng IBM ang isang na-update na bersyon ng programming language, APL2, na nagpakilala ng isang bilang ng mga pagpapahusay kabilang ang konsepto ng nested multidimensional na mga arrays.

Sa pamamagitan ng 1980 si Ken Iverson ay hindi na nakontrol ang APL sa IBM at iniwan upang sumali sa IP Sharp Associates, isang nakikipagkumpitensya na developer ng APL na nagpalabas lamang ng isang pagmamay-ari na bersyon ng wika na tinawag na Sharp APL – isang produkto na sa hinaharap na pag-unlad sila ay masaya na magkaroon ng Iverson na sakupin.

Natalo ng IBM ang I P Sharp sa pagtaguyod ng kanilang bersyon ng APL, APL2, bilang pagpapatupad ng pamantayan sa APL na pang-industriya. Sa ngayon, ang mga modernong pagpapatupad ng APL ay karaniwang nagbabanggit sa pagiging tugma ng APL2.

Modern APL

Ayon sa APL Wiki, hindi bababa sa limang modernong pagpapatupad ng APL:

  • Ang APL2 2.0, mula sa IBM, ay itinuturing pa ring pagpapatupad ng pamantayan sa APL na pamantayan sa industriya.

  • Ang APLX, mula sa Micro APL, ay itinayo sa APM2 ng IBM na may maraming mga ehancement.

  • Ang Dyalog ay isang kapaligiran sa pag-unlad na nakabase sa APL at ang pinaka-abot-kayang pinagtibay na buong platform na APL.

  • Ang APL + Win ay isang kapaligiran sa pag-unlad ng APL mula APL2000.

  • Ang NARS2000 ay isang open-source na walang bayad na tampok na limitadong pagpapatupad na idinisenyo upang mabigyan ang mga interesado sa APL ng pagkakataon na subukan ang APL nang libre.

APL Syntax

Ang ilang mga wika ng programming ay sinasadya na idinisenyo upang madaling mabasa ng sinoman – programmer o hindi.

Si Ruby, Python, COBOL, at maraming iba pang mga wika sa programming ay nagtatrabaho ng isang syntax na mababasa, kung hindi talaga naiintindihan, ng sinumang may matatag na pagkakahawak ng wikang Ingles.

Ang APL ay hindi isa sa mga wikang ito.

Sa sinumang hindi pamilyar sa syntax ng wika, ang APL ay mukhang isang serye ng mga walang katuturang grapikong simbolo, letra, at numero.

Gayunpaman, sa isang programmer ng APL, ang bawat graphical na simbolo o hanay ng mga simbolo ay nakatayo para sa isang pag-andar sa matematika – madalas na medyo kumplikadong pag-andar.

Bilang karagdagan sa natatanging syntax na ito, ang paggamit ng nested multidimensional na mga arrays ay isa pang tampok na gumagawa ng APL na medyo natatangi sa mga wika sa programming.

Mga graphic na Simbolo sa APL

Ang mga graphic na simbolo ay ginagamit upang kumatawan sa mga function at operator. Ang ilan sa mga simbolo na ginamit ay karaniwan at madaling maunawaan:

  • ≠: hindi kapareho ng

  • > at <: ginamit upang ihambing ang dalawang halaga at ibalik ang mas malaki o mas mababang halaga

  • +, −, ÷, at ×: ginamit upang magsagawa ng mga tipikal na pag-andar sa matematika.

Ang kahulugan ng maraming iba pang mga simbolo ay hindi madaling makita sa mga hindi programer ng APL:

  • ⍴: rho, ginamit upang ibalik ang hugis ng isang array o muling maghanda ng isang array.

  • ⌽: bilog stile, baligtad ang order o isang array o umiikot ng isang array sa isang multidimensional direksyon.

  • ⍋ at ⍒: grade up at grade down, muling ayusin ang isang array sa pababang o pataas na pagkakasunud-sunod.

Ito ay ilan lamang sa mga dose-dosenang mga simbolo na ginamit sa APL.

Habang ito ay maaaring maging labis para sa isang baguhan upang subukan at kunin ang lahat ng mga simbolo na ito, ang kanilang kahulugan, at kung paano gamitin ang mga ito, ang mga nakaranas ng mga programer ng APL ay nag-angkin ng labis na pinahusay na produktibo bilang isang resulta ng nabawasan na pag-type na kinakailangan upang lumikha ng hindi kapani-paniwalang malakas na pag-andar.

Nested Multidimensional Arrays

Ang mga simpleng one-dimenaional arrays ay isang pangkaraniwang uri ng data sa computer programming. Mga Arrays ay mga koleksyon lamang ng mga variable o halaga. Halimbawa, ang [0, 1, 2] ay isang hanay na naglalaman ng mga halaga 0, 1, at 2.

Ang mga multidimensional na arrays ay binubuo ng maraming mga hilera ng mga item ng array sa isang tabular layout. Halimbawa, ang isang pagpapatuloy ng array na nakalista sa itaas sa isang 3 sa pamamagitan ng 3 multidimensional na hanay ay maaaring magmukhang ganito:

012
345
678

Ang mga nested na arrays ay isa pang paraan ng pagpapahusay ng data na nilalaman sa isang array. Sa isang nested na hanay, ang bawat item ay may kakayahang maglaman ng karagdagang mga arrays at hindi lamang mga solong halaga o variable.

Sa APL, ang mga arrays ay maaaring parehong multidimensional at naglalaman ng mga nested na mga arrays. Maaari itong maging isang maliit na mahirap balutin ang iyong ulo, kaya tingnan natin ang isang halimbawa.

Gamit ang multidimensional na hanay sa halimbawa sa itaas, papalitan natin ang item sa gitnang (2, 2) posisyon (ang bilang 4) sa isang bagong hanay na multidimensional na binubuo ng mga titik a, b, c, at d.

012
3ab5
cd
678

Kung ang item sa 2, 2 na posisyon sa larong ito ay na-refer, ang array na naglalaman ng mga variable a, b, c, at d ay ibabalik.

Ang kakayahan para sa mga arrays na humawak ng nested multidimensional na mga halaga at variable ay naidagdag sa parehong Biglang APL at APL2 sa huling bahagi ng 1970s at unang bahagi ng 1980, at nananatiling isa sa mga tinukoy na tampok ng APL.

Pag-set up ng isang APL Development Environment

Upang gumana sa APL kakailanganin mong magbigay ng kasangkapan sa iyong computer upang makabuo ng mga simbolo ng APL at mag-install ng isang tagasalin ng APL. Upang mai-install ang isang tagapagsalin ng APL, pumili ng isa sa mga modernong pagpapatupad ng APL na nakalista sa itaas.

Ang aming rekomendasyon ay i-install ang alinman sa NARS2000 o Dyalog. Ang NARS2000 ay ganap na libre, ngunit nag-aalok ng isang limitadong hanay ng tampok.

Maaaring mai-download nang libre ang dyalog (mag-scroll sa ilalim ng pahina at piliin ang I-download ang Hindi rehistradong Bersyon), ngunit nais mong bumili ng isang rehistradong kopya kung magtapos ka gamit ang pang-matagalang APL.

Pagkatapos mag-install ng pagpapatupad ng APL, kakailanganin mong i-set up ang iyong makina upang makabuo ng mga simbolo na kinakailangan upang mag-code sa APL. Ang ilang mga pagpapatupad ng APL ay may kasamang pop-up na menu ng keyboard na magagamit mo upang mag-type ng mga simbolo ng APL nang hindi kinakailangang mag-install ng mga font o bumili ng bagong hardware.

Kung hindi ka handa na pumunta sa lahat ng pagsisikap na iyon, ang isa pang pagpipilian ay ang subukan ang APL sa browser. Ang TryAPL ay isang libreng website, nilikha ng Dyalog, kung saan maaari mong patakbuhin ang APL code sa iyong browser upang makakuha ng isang pakiramdam para sa kung paano gumagana ang APL.

Mga Mapagkukunan ng APL

Ang isa sa mga pinakamahusay na lugar upang malaman ang tungkol sa APL ay ang APL Wiki. Ang mapagkukunang ito, na nilikha ng sama-sama ng pamayanan ng APL, ay nagbibigay ng isang kayamanan ng mga mapagkukunan ng edukasyon at impormasyon tungkol sa modernong paggamit ng APL.

Kung handa kang magsimulang matuto, narito ang ilan sa mga pinaka kapaki-pakinabang na mapagkukunan na makikita mo sa wiki:

  • APL sa 20 Minuto: isang mabilis na pagtingin sa kung ano ang APL at kung ano ang magagawa nito.

  • Pag-aaral ng APL: isang nagsisimula na tutorial na sumasaklaw sa mga pangunahing kaalaman ng coding sa APL.

  • Kumusta mundo: walang pag-aaral sa programming ay magiging kumpleto nang walang klasikong ehersisyo na ito.

  • Karagdagang Mga Paksa sa APL: kung nakumpleto mo na ang Tutorial sa Learning APL, ito ay isang mahusay na susunod na hakbang patungo sa kakayahang APL.

  • Mga Gawi sa Paggawa: kung ginawa mo ito sa mga nakaraang mga tutorial, mayroon kang isang pangunahing pagkakaunawaan ng APL, kung paano ito magagamit, at kung ano ang magagawa nito. Ang susunod na hakbang ay upang simulan ang pagtatrabaho sa iyong sariling mga proyekto. Gayunpaman, bago mo gawin iyon, basahin ang tungkol sa mga kasanayan sa daloy ng trabaho ng mga nakaranasang mga tagabuo ng APL.

Ang APL2000 ay medyo naiiba sa iba pang mga pagpapatupad ng APL at maaari ring magamit sa loob ng .NET Framework na may kaunting karagdagang pagsisikap. Kung interesado ka nito, alamin ang higit pa tungkol sa VisualAPL mula APL200 kasama ang mga mapagkukunang ito:

  • VisualAPL Tutorial sa Format ng PDF

  • Mga VisualAPL Webcasts.

Dalawa ang mga iconic na mapagkukunan sa pamayanan ng APL ay may kasamang artikulo na isinulat ni Bernard Legrand noong 2006 at ang pagsasagawa ng pag-urong ng Laro ng Buhay ng Conway sa APL.

Maaari mong basahin ang artikulo ng Legrand, APL – isang Salamin ng Langit sa Vector, ang website para sa British APL Association.

Maaari mong malaman ang tungkol sa Laro ng Buhay ng Conway at kung paano ito muling likhain sa isang linya ng APL code sa pamamagitan ng pagbabasa tungkol dito o panonood ng screencast na nagpapaliwanag sa proseso.

Mga Libro

Ang ilang mga teksto ng APL ay isinulat sa nakaraang limang dekada. Narito ang anim sa pinakamahusay na:

  • Isang Programming Language ni Kenneth E Iverson, ang aklat na nagsimula sa lahat

  • APL: Isang Interactive na Diskarte nina Gilman at Rose

  • APL2 sa Lalim nina Thompson at Polivka

  • APL 2 sa isang sulyap ni Brown, Pakin, at Polivka

  • Ang APL na may isang Matematika na Accent ni Reiter at Jones

  • Mastering Dyalog APL: Isang Kumpletong Panimula sa Dyalog APL ni Bernard Legrand, magagamit din bilang isang libreng PDF.

Konklusyon

Ang APL ay isang wikang may kasanayang pang-matematika na ang pagtukoy ng mga tampok ay nagsasama ng isang lubos na simbolikong syntax at suporta para sa nested multidimensional arrays.

Ang curve sa pag-aaral ng APL ay halos patayo, kaya’t ikaw ay para sa isang natatanging matarik na pag-akyat kung magpasya kang matuto ng APL.

Ang payoff ay pupunta ka sa mastering ang isa sa mga pinakamalakas na wika sa programming na dinisenyo.

Karagdagang Pagbasa at Mga Mapagkukunan

Mayroon kaming higit pang mga gabay, mga tutorial, at mga infograpiko na may kaugnayan sa pag-cod at pag-unlad:

  • Ang Panimula at Mga Mapagkukunan ng COBOL: bagaman ito ay isang naunang wika, ang COBOL ay halos kabaligtaran ng APL sa mga tuntunin ng pagiging madaling mabasa.

  • Fortran Resources: marahil ang unang mataas na antas ng wika ng computer programming, ang pag-unlad sa Fortran ay nagsimula halos isang dekada bago ang APL.

  • Pagpapakilala ng Wika ng Assembly: alamin ang programming sa computer sa pinaka pangunahing antas nito.

Anong Code ang Dapat Mong Alamin?

Nalilito tungkol sa kung anong programming language ang dapat mong malaman upang mag-code in? Suriin ang aming infographic, Ano ang Code na Dapat Mong Alamin? Hindi lamang tinatalakay ang iba’t ibang mga aspeto ng mga wika, sinasagot nito ang mga mahahalagang katanungan tulad ng, “Magkano ang pera na gagawin ko ang programming ng Java para sa isang buhay?”

Anong Code ang Dapat Mong Alamin?
Anong Code ang Dapat Mong Alamin?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map