APL (programmēšanas valoda): programmēšana ar simboliem?

Atklāšana: Jūsu atbalsts palīdz vietnei darboties! Mēs nopelnām nodošanas maksu par dažiem pakalpojumiem, kurus mēs iesakām šajā lapā.


Programmēšanas valoda (APL) tiek nosaukta vienā nosaukumā pēc grāmatas, kuru 1962. gadā publicēja Kenets E Iversons..

APL ir unikāla matemātiski slīpa programmēšanas valoda, kas paredzēta kodolīgumam, kas ietekmēja modernu izklājlapu un matemātiskās programmatūras pakotņu attīstību.

APL vēsture

Piecdesmitajos gados Hārvardas universitātes profesors izveidoja matemātisko notāciju sistēmu, kas bija noderīga, lai manipulētu ar sarežģītiem informācijas masīviem. Šis profesors bija Kenets Iversons.

1960. gadā Iversons devās strādāt uz IBM, kur ar datorsistēmu inženiera Adīna Falkofa palīdzību viņš izveidoja programmēšanas valodu, balstoties uz matemātisko notāciju, kuru viņš bija izstrādājis, strādājot akadēmiskajā vidē..

Šī programmēšanas valoda, lai arī tolaik nebija praktiski ieviest, tomēr tika publicēta tekstā A Programming Language, un radās APL.

Sākotnēji APL tika izmantots IBM, lai veiktu pētījumu par datorsistēmām. Tomēr 1960. gados APL pieņemšanu ierobežoja neparasta sintakse, kas satur daudzus grafiskus simbolus, kurus tajā laikā nevarēja viegli attēlot datoros. Rezultātā bija jāizmanto atsevišķie atslēgvārdu attēlojumi, nevis patiesie simboli, kurus Iversons bija iecerējis.

Tas viss mainījās 1960. gadu beigās, kad IBM izlaida īpašu tipa bumbiņu, kas varēja radīt īpašos simbolus, kurus izmantoja APL.

IBM vienlaicīgi iepazīstināja APL ar datoru, padarot APL pieejamu IBM lieldatoru datoros. Nākamās 2 desmit gadu laikā vairāk vai mazāk APL dzīvoja lieldatoru datoros, kurus izplatīja IBM un citi konkurējošie aparatūras un programmatūras ražotāji, līdz personālā datora aparatūras iespējas tika galā ar APL sastādīšanas prasīgumu..

Astoņdesmito gadu sākumā IBM izlaida atjauninātu programmēšanas valodas APL2 versiju, kas ieviesa vairākus uzlabojumus, ieskaitot ligzdotu daudzdimensiju masīvu koncepciju..

Līdz 1980. gadam Kens Iversons vairs nekontrolēja APL IBM un aizgāja pievienoties IP Sharp Associates, konkurējošam APL ieviešanas izstrādātājam, kurš tikko bija izlaidis patentētu valodas versiju, ko tā sauca par Sharp APL – produktu, kura nākotnes attīstību viņi bija laimīgi. lai Iversons pārņemtu.

IBM spēja pārvarēt I P Sharp, izveidojot viņu APL versiju APL2 kā nozares standarta APL ieviešanu. Līdz mūsdienām mūsdienu APL ieviešanas parasti citē APL2 savietojamību.

Mūsdienu APL

Saskaņā ar APL Wiki ir vismaz piecas modernas APL ieviešanas:

  • IBM APL2 2.0 joprojām tiek uzskatīts par nozares standarta APL ieviešanu.

  • APLX no Micro APL ir veidots uz IBM APL2 ar vairākiem uzlabojumiem.

  • Dyalog ir uz APL balstīta attīstības vide un vispieejamākā pieejamai pilnvērtīgai APL platformai.

  • APL + Win ir APL izstrādes vide no APL2000.

  • NARS2000 ir atvērtā pirmkoda ierobežota ieviešana bez funkcijām, kas paredzēta, lai APL interesentiem dotu iespēju izmēģināt APL bez maksas.

APL sintakse

Dažas programmēšanas valodas ir apzināti izstrādātas, lai tās varētu viegli lasīt ikviens – programmētājs vai nē.

Ruby, Python, COBOL un daudzās citās programmēšanas valodās tiek izmantota sintakse, kuru var lasīt, ja tā īsti nav saprotama, ikviens, kurš labi uztver angļu valodu.

APL nav viena no šīm valodām.

Ikvienam, kas nav pazīstams ar valodas sintakse, APL izskatās kā absurdu grafisku simbolu, burtu un ciparu virkne.

Tomēr APL programmētājam katrs grafiskais simbols vai simbolu komplekts nozīmē matemātisko funkciju – bieži vien diezgan sarežģītu funkciju..

Papildus unikālajai sintaksei, ligzdotu daudzdimensiju masīvu izmantošana ir vēl viena funkcija, kas padara APL nedaudz unikālu starp programmēšanas valodām.

Grafiskie simboli APL

Grafiskos simbolus izmanto, lai attēlotu funkcijas un operatorus. Daži no izmantotajiem simboliem ir izplatīti un viegli saprotami:

  • ≠: nav vienāds ar

  • > un <: izmanto, lai salīdzinātu divas vērtības un iegūtu lielāku vai mazāku vērtību

  • +, −, ÷ un ×: izmanto tipisku matemātisko funkciju veikšanai.

Programmētājiem, kas nav APL, daudzu citu simbolu nozīme nav viegli saskatāma:

  • ⍴: rho, izmanto masīva formas atgriešanai vai masīva formas maiņai.

  • ⌽: aplis izliek, apgriež secību vai masīvu vai pagriež masīvu daudzdimensionālā virzienā.

  • ⍋ un ⍒: pakāpe augšā un pakāpe uz leju, masīvu pārkārto dilstošā vai augošā secībā.

Šie ir tikai daži no simtiem simbolu, ko izmanto APL.

Lai arī iesācējam var būt milzīgi, ja mēģina uzņemt visus šos simbolus, to nozīmi un kā tos izmantot, pieredzējuši APL programmētāji apgalvo, ka ievērojami uzlabota produktivitāte, jo ir samazināta mašīnrakstīšana, kas nepieciešama neticami jaudīgu funkciju izveidošanai..

Ligzdoti daudzdimensionāli masīvi

Vienkārši viendimensiju bloki ir datorprogrammēšanā izplatīts datu tips. Masīvi ir tikai mainīgo vai vērtību kolekcijas. Piemēram, [0, 1, 2] ir masīvs, kura vērtības ir 0, 1 un 2.

Daudzdimensiju masīvus veido vairākas masīva vienību rindas tabulas veidā. Piemēram, iepriekš uzskaitītā masīva turpinājums trīsdimensiju masīvā 3: 3 varētu izskatīties šādi:

012
345
678

Ligzdoti masīvi ir vēl viens veids, kā uzlabot masīvā esošos datus. Ligzdotā masīvā katrs vienums var saturēt papildu masīvus, nevis tikai atsevišķas vērtības vai mainīgos.

APL masīvi var būt gan daudzdimensionāli, gan saturēt ligzdotus masīvus. Tas var būt nedaudz sarežģīti, lai apliktu galvu, tāpēc apskatīsim piemēru.

Izmantojot daudzdimensiju masīvu iepriekšējā piemērā, mēs aizstāsim vienumu centrālajā (2, 2) pozīcijā (skaitlis 4) ar jaunu daudzdimensiju masīvu, kas sastāv no burtiem a, b, c un d.

012
3ab5
cd
678

Ja tiek norādīts uz šī masīva 2, 2 pozīciju vienumu, tiks atgriezts masīvs, kas satur mainīgos lielumus a, b, c un d.

Masīvu spēja turēt ligzdotas daudzdimensiju vērtības un mainīgos lielumus tika pievienota gan Sharp APL, gan APL2 1970. gadu beigās un 1980. gadu sākumā, un tā joprojām ir viena no APL raksturīgajām iezīmēm..

APL attīstības vides iestatīšana

Lai strādātu ar APL, jums būs jāaprīko dators APL simbolu ražošanai un APL tulka instalēšanai. Lai instalētu APL tulku, atlasiet kādu no iepriekš uzskaitītajām mūsdienu APL ieviešanām.

Mūsu ieteikums ir instalēt NARS2000 vai Dyalog. NARS2000 ir pilnīgi bezmaksas, taču piedāvā ierobežotu funkciju komplektu.

Dyalog var lejupielādēt bez maksas (ritiniet līdz lapas apakšdaļai un atlasiet Lejupielādēt nereģistrēto versiju), taču, ja ilgtermiņā izmantosit APL, vēlēsities iegādāties reģistrētu kopiju..

Pēc APL ieviešanas instalēšanas jums būs jāiestata iekārta, lai ražotu simbolus, kas nepieciešami kodēšanai APL. Dažās APL implementācijās ir uznirstošā tastatūras izvēlne, kuru varat izmantot APL simbolu ierakstīšanai, neinstalējot fontus vai neiegādājoties jaunu aparatūru..

Ja neesat gatavs veltīt visas pūles, vēl viena iespēja ir izmēģināt APL pārlūkā. TryAPL ir bezmaksas vietne, kuru izveidojis Dyalog un kurā pārlūkā varat palaist APL kodu, lai gūtu priekšstatu par APL darbību.

APL resursi

Viena no labākajām vietām, kur uzzināt par APL, ir APL Wiki. Šis resurss, ko sadarbībā izveidojusi APL kopiena, nodrošina daudz izglītības resursu un informāciju par mūsdienu APL lietojumu.

Ja esat gatavs sākt mācīties, šeit ir daži no visnoderīgākajiem resursiem, ko atradīsit wiki:

  • APL 20 minūtēs: ātri apskatiet, kas ir APL un ko tas var darīt.

  • Apmācība APL: apmācība iesācējiem, kas aptver kodēšanas pamatus APL.

  • Sveika pasaule: neviena programmēšanas izglītība nebūtu pilnīga bez šī klasiskā vingrinājuma.

  • Nākamās APL tēmas: ja esat pabeidzis apmācības APL apmācību, tas ir lielisks nākamais solis ceļā uz APL kompetenci.

  • Darba prakse: ja esat to paveicis, izmantojot iepriekšējās pamācības, jums ir pamata izpratne par APL, kā to izmantot un ko tā var darīt. Nākamais solis ir sākt strādāt pie saviem projektiem. Pirms jūs to darāt, izlasiet par pieredzējušo APL izstrādātāju darbplūsmas praksi.

APL2000 nedaudz atšķiras no citām APL ieviešanām, un to var izmantot .NET Framework ietvaros ar nelielu papildu piepūli. Ja tas jūs interesē, uzziniet vairāk par VisualAPL no APL200, izmantojot šos resursus:

  • VisualAPL apmācība PDF formātā

  • VisualAPL tīmekļa pārraides.

Divos ikoniskos resursos APL kopienā ietilpst Bernarda Legrana 2006. gadā uzrakstītais raksts un Conway dzīves spēles atjaunošanas prakse APL.

Jūs varat lasīt Legrand rakstu APL – Glimpse of Heaven at Vector, Lielbritānijas APL asociācijas vietnē.

Par Conway dzīves spēli un to, kā to var izveidot no jauna, varat uzzināt vienā APL koda rindā, lasot par to vai skatoties ekrāna apraidi, kas izskaidro procesu.

Grāmatas

Pēdējo piecu gadu desmitu laikā ir rakstīts diezgan daudz APL tekstu. Šeit ir seši labākie:

  • Programmēšanas valoda – Kenneth E Iverson, grāmata, kas to visu aizsāka

  • APL: Gilmaņa un Rozes interaktīvā pieeja

  • Tompsons un Polivka – APL2 dziļumā

  • APL 2 īsumā – Brauns, Pakins un Polivka

  • APL ar Reitera un Džounsa matemātisko akcentu

  • Apgūstot Dyalog APL: Pilns ievads Dyalog APL, ko sagatavojis Bernards Legrands, pieejams arī bezmaksas PDF formātā.

Secinājums

APL ir matemātiski slīpa programmēšanas valoda, kuras raksturīgās funkcijas ietver izteikti simbolisku sintakse un atbalstu ligzdotiem daudzdimensionāliem blokiem.

APL mācīšanās līkne ir gandrīz vertikāla, tāpēc, ja nolemjat mācīties APL, jūs dodaties uz ārkārtīgi strauju kāpumu..

Izmaksa ir tā, ka jūs varēsit apgūt vienu no visu laiku spēcīgākajām programmēšanas valodām.

Turpmākie lasījumi un resursi

Mums ir vairāk ceļvežu, mācību materiālu un infografiku, kas saistīti ar kodēšanu un attīstību:

  • COBOL ievads un resursi: lai arī tā bija agrāka valoda, COBOL lasāmības ziņā ir gandrīz pretēja APL.

  • Fortran resursi: iespējams, pirmā augsta līmeņa datorprogrammēšanas valoda, Fortran izstrāde sākās gandrīz desmit gadus pirms APL.

  • Montāžas valodas ievads: apgūstiet datorprogrammēšanu visvienkāršākajā līmenī.

Kāds kods jums jāiemācās?

Neizpratnē par to, kādā programmēšanas valodā jums vajadzētu iemācīties iekļūt? Iepazīstieties ar mūsu infografiku. Kāds kods jums jāiemācās? Tajā aplūkoti ne tikai dažādu valodu aspekti, bet arī sniegti atbildes uz svarīgiem jautājumiem, piemēram, “Cik daudz naudas es nopelnīšu Java programmēšanai iztikai?”

Kāds kods jums jāiemācās?
Kāds kods jums jāiemācās?

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