ALGOL 68
| ALGOL 68 | |
|---|---|
| Paradigmaları | Kóp paradigmalı: parallel, imperativ |
| Shańaraǵı | ALGOL |
| Islep shıǵıwshılar | A. van Veyngarden, B. Dj. Mayyu, Dj. E. L. Pek hám K. X. A. Koster, hám basqalar |
| Birinshi shıǵarılıwı | Juwmaqlawshı esabat: 1968-jıl |
| Turaqlı versiyası | Algol 68/RR / Dúzetilgen esabat: 1973-jıl |
| Tiplestiriw tártibi | Statikalıq, kúshli, qáwipsiz, strukturalı |
| Qollanıw sheńberi | Leksikalıq |
| Veb-saytı | algol68-lang.org |
ALGOL 68 (Algorithmic Language 1968 sóziniń qısqartpası) — bul ALGOL shańaraǵına kiretuǵın imperativ programmalastırıw tili bolıp, ol anaǵurlım keńirek qollanıw tarawı hám qatań anıqlanǵan sintaksis penen semantika maqsetinde proektlestirilgen ALGOL 60 tiliniń miyrasxorı retinde oylap tabılǵan.
Tildiń anıqlamasınıń quramalılıǵı, ol standart emes terminologiya menen toltırılǵan bir neshe júz betten ibarat bolıp, kompilyatordı ámelge asırıwdı qıyınlastırdı hám onıń «hesh qanday implementaciyası da, paydalanıwshıları da joq» delingen. Bul tek tolıq emes haqıyqat edi; ALGOL 68 bir neshe arnawlı bazarlarda, ásirese Ullı Britaniyada International Computers Limited (ICL) mashinalarında keń tarqalǵan jerlerde hám oqıtıw tarawlarında qollanılǵan. Bul tarawlardan tıs onıń qollanılıwı salıstırmalı túrde sheklengen edi.
Soǵan qaramastan, ALGOL 68 diń kompyuter ilimi tarawına qosqan úlesi tereń, keń kólemli hám turaqlı boldı, degen menen bul úleslerdiń kópshiligi tek keyinirek islep shıǵılǵan programmalastırıw tillerinde qayta payda bolǵanda ǵana jámiyetshilikke belgili boldı. Kóplegen tiller tildiń quramalılıǵına juwap retinde arnawlı islep shıǵıldı, olardıń eń belgili bolǵanı Pascal, yamasa Ada sıyaqlı belgili bir roller ushın qayta implementaciyalanǵan tiller boldı.
1970-jıllardaǵı kóplegen tillerdiń dizaynı tikkeley ALGOL 68 ge tiykarlanadı, olar ayırım ózgesheliklerin tańlap alıp, belgili bir wazıypalar ushın júdá quramalı yamasa sheńberden tıs dep esaplanǵan basqa ózgesheliklerden waz keshti. Kópshilik zamanagóy tillerdiń sintaksisiniń keminde bir bólimi C yamasa Pascalǵa tiyisli, solay etip tikkeley yamasa janapay túrde ALGOL 68 ge baylanıslı.
Sholıw
ALGOL 68 diń ózgesheliklerine ańlatpaǵa tiykarlanǵan sintaksis, paydalanıwshı anıqlaytuǵın tipler hám strukturalar/belgilengen birlespeler, ózgeriwshilerdiń hám silteme parametrleriniń silteme modeli, qatardı, massivti hám matricanı bóleklew hám de bir waqıtta orınlanıw (parallellik) kiredi.
ALGOL 68 Informaciyanı Qayta Islew boyınsha Xalıqaralıq Federaciyanıń (IFIP) Algoritmik Tiller hám Esaplawlar boyınsha IFIP 2.1 jumıs toparı tárepinen islep shıǵılǵan. 1968-jıl 20-dekabrde til topar tárepinen rásmiy túrde qabıl etildi, hám keyin IFIP Bas Assambleyası tárepinen baspadan shıǵarıwǵa maqullandı.
ALGOL 68 Adriaan van Veyngaarden tárepinen oylap tabılǵan eki dárejeli formal grammatika formalizmi járdeminde anıqlanǵan. Van Veyngaarden grammatikaları belgili bir ALGOL 68 programmasın tanıytuǵın sheksiz kólemdegi qurallar toplamın payda etiw ushın kontekstsiz grammatikanı paydalanadı; atap ótiw kerek, olar basqa kóplegen programmalastırıw tilleriniń texnikalıq standartlarında semantika dep atalatuǵın hám eki mánili bolıwı múmkin tábiyiy tildegi proza menen ańlatılıwı kerek bolǵan, sońınan kompilyatorlarda formal til parserine baylanıslı arnawlı kod retinde ámelge asırılatuǵın talaplardı ańlata aladı. «ALGOL 68 — bul ámelge asırılıwınan aldın tolıq formal anıqlaması jaratılǵan birinshi (hám bálkim, sońǵılarınan biri) iri til boldı.» C. H. A. Koster[1]
ALGOL 68 diń dizaynınıń tiykarǵı maqsetleri hám principleri:[2]
- Táriyiplewdiń tolıqlıǵı hám anıqlıǵı
- Dizayn ortogonallıǵı
- Qáwipsizlik
- Nátiyjelilik:
- Statikalıq rejim tekseriwi
- Rejimge ǵárezsiz sintaksislik analiz
- Ǵárezsiz kompilyaciyalaw
- Cikldi optimallastırıw
- Kórinisler – minimal hám úlken belgiler toplamında
ALGOL 68 onıń dizayn komitetiniń C. A. R. Hoare hám Edsger Dijkstra sıyaqlı ayırım aǵzaları tárepinen ALGOL 60-tıń ápiwayılıǵınan waz keshkeni, quramalı yamasa júdá ulıwma ideyalar ushın quralǵa aylanǵanı hám C, S-algol hám Pascal sıyaqlı qasaqana ápiwayı zamanlasları (hám básekilesleri) menen salıstırǵanda kompilyator jazıwshınıń jumısın ańsatlastırıw ushın az háreket etkeni ushın sınǵa alınǵan.
1970-jılı ALGOL 68-R ALGOL 68 ushın birinshi isleytuǵın kompilyator boldı.
1973-jılǵı qayta kórip shıǵıwda, ayırım ózgeshelikler — mısalı, proceduralıq, gommas[3] hám formal shegaralar — alıp taslandı. Qayta kórip shıǵılmaǵan esabattıń tilin salıstırıń.
Evropanıń qorǵanıw agentlikleri (Britaniyadaǵı Korollıq Signallar hám Radar Mekemesi (RSRE)) ALGOL 68 diń kútilgen qáwipsizlik artıqmashılıqları ushın onıń qollanılıwın xoshametlegeni menen, NATO awqamınıń Amerika tárepi basqa proekt, yaǵnıy Ada tilin islep shıǵıwdı sheshti hám onı AQSH qorǵanıw shártnamaları ushın májbúriy etti.
ALGOL 68 Sovet Awqamında da áhmiyetli tásir qaldırdı, onıń tolıq maǵlıwmatların Andrey Terexovtıń 2014-jılǵı «ALGOL 68 hám onıń SSSR hám Rossiya programmalastırıwına tásiri» atlı maqalası hám «Алгол 68 и его влияние на программирование в СССР и России» jumısınan tabıwǵa boladı.
ALGOL 68 di qayta kórip shıǵıw komitetinde bolǵan Stiv Born onıń ayırım ideyaların óziniń Bourne shell-ine (hám sol arqalı Bash sıyaqlı keyingi Unix shell-lerine) hám C-ge (hám sol arqalı C++ sıyaqlı keyingi tillerge) alıp ótti.
Proekttiń tolıq tariyxın C. H. Lindsey-diń «ALGOL 68 tariyxı»[4] kitabınan tabıwǵa boladı.
Tildi tolıq úyreniw ushın doktor Sian Mauntbattenniń «ALGOL 68 programmalastırıwdı ańsat úyreniw» yamasa Marsel van der Verdiń «ALGOL 68 Genie úyreniwi»[5] kitabına qarań, oǵan Qayta kórip shıǵılǵan Esabat ta kiredi.
Tariyxı
Kelip shıǵıwı
ALGOL 68, atınan kórinip turǵanınday, birinshi ret 1960-jılı rásmiylestirilgen ALGOL tiliniń dawamı bolıp tabıladı. Sol jılı Informaciyanı Qayta Islew boyınsha Xalıqaralıq Federaciya (IFIP) shólkemlestirildi hám ALGOL boyınsha jumıs toparı, yaǵnıy WG2.1-di dúzdi. Bul topar 1962-jıl aprelde Rimde jańalanǵan ALGOL 60 specifikaciyasın járiyaladı. 1964-jıl marttaǵı keyingi ushırasıwda topar eki dawamshı standart ústinde jumıstı baslawǵa kelisti: ALGOL X, bul ayırım qosımshaları bar tildiń qayta anıqlaması bolatuǵın edi, hám ALGOL Y, bul LISP tili stilinde óziniń programmaların ózgerte alatuǵın imkaniyatqa iye bolatuǵın edi.
Anıqlama beriw procesi
ALGOL X toparınıń birinshi ushırasıwı 1965-jılı may ayında Prinston universitetinde bolıp ótti. Ushırasıw esabatında eki keń qollap-quwatlanǵan tema belgilendi: qatań tiplestiriwdi kirgiziw hám toplamlar menen islesiw ushın Eylerdiń «terekler» yamasa «dizimler» koncepciyalarına qızıǵıwshılıq. «Bar qıyınshılıqlardıń qısqa múddetli sheshimi» retinde jobalastırılǵanına qaramastan, ALGOL X ushın kompilyator da jaratıldı. Bul kompilyator Massachusets Texnologiya Institutınıń (MIT) xızmetkeri Duglas T. Ross tárepinen Proektlestiriw ushın Keńeytilgen ALGOL dep te atalatuǵın Avtomatlastırılǵan Injenenerlik Proektlestiriw (AED-0) sisteması menen jazılǵan edi[6].
Franciyada oktyabr ayında ótkerilgen ekinshi ushırasıwda úsh rásmiy usınıs kórsetildi: Niklaus Virttiń ALGOL W usınısı, C.A.R. (Toni) Hoardıń jazıw strukturaları haqqındaǵı kommentariyaları menen birge, Gerxard Zegmyullerdiń uqsas tili hám Adriaan van Veyngaardenniń «Formal tildiń ortogonal dizaynı hám táriypleniwi» atlı maqalası. Sońǵısı, derlik túsiniksiz «W-Grammatika» menen jazılǵan bolıp, tildiń evolyuciyasında sheshiwshi ózgeris boldı. Ushırasıw van Veyngaardenniń Virt/Hoar usınısın óziniń W-Grammatikasın paydalanıp qayta jazıwına kelisiw menen juwmaqlandı.
Bul ápiwayı kórinetuǵın wazıypa aqıbetinde kútilgennen de qıyınlaw bolıp shıqtı hám keyingi ushırasıwdı altı ayǵa keshiktiriwge tuwra keldi. 1966-jıl aprelde Kutveykte ushırasqanda, van Veyngaardenniń joybarı ele tamamlanbaǵan edi hám Virt penen Hoar anaǵurlım dástúriy táriyiplewlerdi paydalanǵan versiyanı usındı. Olardıń maqalası «nadurıs formalizmdegi durıs til» ekenligi ulıwma moyınlandı. Bul usıllar izertlenip atırǵanda, parametrlerdiń táriyipleniw usılında haqıyqıy dúnyaǵa tásir etetuǵın ayırmashılıq bar ekenligi anıq boldı, hám Virt penen Hoar bunnan bılay keshigiwlerdiń sheksiz bolıwı múmkinligin aytqanına qaramastan, komitet van Veyngaardenniń versiyasın kútiwdi sheshti. Keyin Virt olardıń ámeldegi anıqlamasın ALGOL W retinde ámelge asırdı.
1966-jıl oktyabrde Varshavada ótkerilgen kelesi ushırasıwda[7] Ok-Ridj Milliy Laboratoriyasında hám Illinoys universitetinde ushırasqan, biraq ele kóp alǵa ilgerilewge erise almaǵan Kirgiziw/Shıǵarıw boyınsha kishi komitetten dáslepki esabat boldı. Aldınǵı ushırasıwdaǵı eki usınıs qaytadan qarap shıǵıldı, hám bul ret kórsetkishlerdi paydalanıw haqqında jańa talqılaw payda boldı; ALGOL W olardı tek jazıwlarǵa silteme beriw ushın paydalanǵan, al van Veyngaardenniń versiyası qálegen obyektke kórsete alatuǵın edi. Aljasıwdı arttırıw ushın, Djon Makkarti operatorlardı artıqsha júklew hám and hám or konstrukciyaların biriktiriw imkaniyatı boyınsha jańa usınıs kirgizdi, al Klaus Zamelson anonim funkciyalarǵa ruqsat beriwdi qáledi. Nátiyjesindegi shawqımda pútkil háreketti toqtatıw haqqında da talqılawlar boldı. Bul aljasıw 1967-jılı may ayında Zandvortta ótkeriliwi kerek bolǵan ALGOL Y ushırasıwına shekem dawam etti.
Derekler
- ↑ «A Shorter History of ALGOL 68». 10-avgust 2006-jılda túp nusqadan arxivlendi. Qaraldı: 15-sentyabr 2006-jıl.
- ↑ Veer. «Revised Report on the Algorithmic Language Algol 68». jmvdveer.home.xs4all.nl/ (5-aprel 2023-jıl). 17-mart 2013-jılda túp nusqadan arxivlendi.
- ↑ «Gommas?».
- ↑ Lindsey, Charles H.. History of Programming Languages II, 1996.
- ↑ Veer. «Marcel van der Veer - Algol 68 Genie». jmvdveer.home.xs4all.nl/.
- ↑ Ross. «An Algorithmic Theory of Language (AB26.2.2)». Defense Technical Information Center. Massachusetts Institute of Technology (oktyabr 1966). 26-iyun 2013-jılda túp nusqadan arxivlendi. Qaraldı: 12-avgust 2020-jıl.
- ↑ «The ALGOL Bulletin».