Algolo-60

Algolo 60 aŭ Algolo-60Vd NPIV, «²Algolo». estas programlingvo, la plej grava ano de la programlingva familio «Algolo».

Fakte, la siglo ALGOL (ALGOritma Lingvo) kaj la prezento de la lingvo en ĝia difina dokumento«Reviziita Raporto pri la algoritma lingvo Algolo 60». emfazas la ideon ke Algolo estas ne programada lingvo (= programlingvo, lingvo por priprogrami komputilojn), sed algoritma lingvo, lingvo por interŝanĝi kaj publikigi algoritmojn inter la homoj.

 Historio 
Algolo estis la unua lingvo internacie projektita, kaj la nomo de ĝia unue publikigita skizo, IAL, Internacia Algebra«Algebra lingvo» ĉi tie estas komparebla kun «formula tradukilo» en la nomo de Fortrano: temas pri uzo de tradiciaj matematikaj esprimoj kontraste al la maŝinaj komandoj de asembla lingvo. Alivorte, la epitetoj algebra, formula havis la signifon de la nuna altnivela (programlingvo). Lingvo (retrospektive ankaŭ konata kiel «Algolo 58»), sonas aparte kortuŝe por la adeptoj de la «Lingvo Internacia». La laboro okazis en la jaroj 1958–1963 sub la aŭspicioj de
 Association for Computing Machinery (ACM), Usono kaj de
 Gesellschaft für Angewandte Mathematik und Mechanik (GAMM), FRG; poste ankaŭ
 International Federation for Information Processing (IFIP).

Inter la aŭtoroj aparte menciendas
  el Usono;
  el Eŭropo.

La numeralo «60» aludas la decidan konferencon:
Konferenco en januaro 1960
La 13 delegitoj el Anglujo. Francujo, Germanujo, Holando, Svisujo kaj Usono en Parizo de 11 ĝis 16 Januaro 1960. Antaŭ la konferenco Peter Naur verkis tute novan proponon de raporto sin gvidante per la Prova raporto kaj la rekomendoj de la preparaj renkontiĝoj. La Pariza konferenco akceptis tiun novan formon kiel bazon por sia definitiva raporto kaj procedis al la ekzameno de ĉiu parto de la raporto. Ĉi tiu raporto estas la kunaĵo de ideoj de la komitatanoj kaj la komunaĵo de iliaj akordoj.
La Raporton akceptitan dum ĉi tiu konferenco poste reviziis la aprila (1962) konferenco en Romo. Rezultis la «Reviziita Raporto», kiu iĝis la definitiva dokumento pri Algolo 60 por la periodo de ĝia plej aktiva uzado. Ĝi estas disponebla en Esperanto en traduko de Sergio Pokrovskij.«Reviziita Raporto pri la Algoritma Lingvo ALGOL 60». Legi en HTML. Elŝuti en PDF.

 La tri niveloj de Algolo 
Fine de la jaroj 1950-aj mankis normoj kiuj ebligus aparatan datumkomunikadon. Diversaj firmaoj aŭ kaj diversaj landoj uzis siajn, inter si nekongruajn, normojn. Nocio bajto ekzistis nur en kelkaj sistemoj, kaj pri ĝia longo oni hezitis (8 bitoj ŝajnis tro malŝpare). Unua publikigo de Askio okazis en 1962 (do, post Algolo), kaj ĝi diferencis de la nuna. En tiu tempo Fortran II povis esti kompleta lingvo nur kiel firmaa lingvo de IBM, ĝi ankoraŭ estis komputil-dependa lingvo. La universala interfaco inter diverstipaj komputaj sistemoj tiam povis esti nur nomo.

Algolo devis esti sendependa je firmaoj kaj landoj; tial jam en IAL oni lasis certajn aferojn al la bontrovo de la konstruantoj de tradukiloj, laŭ la tradicioj landaj, tipografiaj, aparataj.
Samkiel en IAL, en Algolo 60 oni distingas tri malsamajn nivelojn, nome la referencan lingvon, la porpublikigan lingvon kaj diversajn maŝinajn prezentojn. Iliaj ĉi-subaj difinoj estas prenitaj el la Reviziita Raporto:

 Referenca lingvo 
 Ĝi estas la labora lingvo de la Komitato [prizorganta Algolon].
 Ĝi estas la difina lingvo.
 Ĝiaj signoj estas elektitaj por plifaciligi interkomprenon, sendepende de la komputilaj limigoj aŭ simbolaroj uzataj de programistoj aŭ en pura matematiko.
 Ĝi estas la ĉefa referenco kaj gvidilo por la konstruantoj de tradukiloj.
 Ĝi estas la gvidilo por ĉiuj maŝinaj prezentoj.
 Ĝi estas la gvidilo por la aliliterigo el referenca lingvo en ĉiun lokan maŝinan prezenton.
 La ĉefaj publikaĵoj pri la lingvo mem uzos la referencan prezenton.

 Porpublikiga lingvo 
 La porpublikiga lingvo aperas kiel variaĵo de la referenca lingvo, konforma al kutimoj de presado kaj matematika manskribado (ekz. subliniaj indicoj, spacetoj, eksponentoj, grekaj literoj).
 Ĝi estas uzata por formulado kaj komunikado.
 La signoj uzataj en diversaj landoj povas diferenci, tamen oni devas garantii unusignifan interrespondon kun la referenca prezento.
Tuj post la publikigo de Algolo la Usona revo Communications of the ACM adoptis ĝin kiel la lingvon por publikigi algoritmon. Tiun monopolon Algolo tenis ĝis 1966, kiam ankaŭ aliaj lingvoj iĝis akceptitaj.

 Maŝinaj prezentoj 
 Ĉiu el ili estas variaĵo de la referenca lingvo, reduktita konforme al la aro da signoj de la disponebla enigilo.
 Ĉiu el ili uzas la signaron de aparta komputilo kaj estas la lingvo akceptata de tradukilo por tiu komputilo.
 Ĉiu el ili devas esti garnita per speciala aro da reguloj por traduki el la porpublikiga aŭ referenca lingvo.
Fakte la sekcio 2.1 de la Reviziita Raporto permesas ne nur redukti la signaron, sed ankaŭ ĝin pliriĉigi.

 Naciaj versioj 
Nuntempe oni povas facile komuniki algoritmojn elektronike, sur la normigitaj datumportiloj aŭ per la Interreto. Tamen la porpublikigaj tradicioj de Algolo plu vivas en diversaj pseŭdokodoj, interalie tiuj uzataj por instrui programadon. En tiaj pseŭdokodoj oni ĉiam (aŭ preskaŭ ĉiam) plu uzas la tradicion de la porpublikiga varianto de Algolo (kaj apenaŭ oni uzas tiucele la tradicion de Kobolo, lingvo unu el kies celoj estis ebligi al la estroj facile legi kaj kompreni la programojn de siaj programistoj).

Tiaj pseŭdokodoj kutime uzas nacian leksikon en siaj ŝlosilvortoj; vd la ekzemplojn pri pseŭdokodo en la Vikipedio ĉeĥa aŭ pola. Tamen historie ekzistis ankaŭ nacilingvaj tradukiloj, ekz‑e en Francio kaj Sovetio.

B. Vauquois skribis enkonduke (p. 9) al franca lernolibro pri Algolo 60E. Boliet k.a. Un nouveau langage scientifique algol. Manuel pratique. Paris, 1964.:
La originala versio de Algolo 60 uzas 24 simbolojn prenitajn el la angla lingvo; ni opinias, ke disvastigon de Algolo en la landoj franclingvaj faciligos uzo de ekvivalentaj formoj francaj. La maloportunoj de vort-al-vorta anstataŭigo ja estas bagatelaj (cetere, plimulto da tradukiloj konstruitaj en Francio egale akceptas ambaŭ lingvojn).

Ĉi-suba tabelo donas tradukojn de la ŝlosilvortoj algolaj en Esperanton (laŭ la menciita traduko) kaj en la lingvojn francan (pp. 10, 88 de la ĵus citita lernolibro) kaj rusan (laŭ la resuma propono de A.P. ErŝovАлгоритмический язык Алгол 60. Модифицированное сообщение. М.:Мир, 1982. — С. 10, 17.. La kursiva parto en la ŝlosilvortoj rusaj estas forĵetebla, kiel klarigite en la artikolo Ŝlosilvortigo.

 Angle  Esperante  France  Ruse array  tabelo  tableau  массив begin  starto  debut  начало Boolean  bulea(j)  Booleen  логический comment  komento  commentaire  примечание do  faru  faire  цикл else  alie  sinon  иначе end  fino  fin  конец false  malvero  faux  ложь for  por  pour  для go to  al  aller a  на if  se  si  если integer  entjera(j)  entier  цел label  marko  etiquette  метка own  persista(j)  remanent  собственный procedure  proceduro  procedure  процедура real  reela(j)  reel  вещественный step  paŝo  pas  шаг string  ĉeno  chaine  строка switch  komutilo  aiguillage  ключ then  tiam  alors  то true  vero  vrai  истина until  ĝis  jusqua  до value  valore  valeur  значение while  dum  tant que  пока

 La lingvodifino 
La sintakso de Algolo 60 estas difinita tute formale per la formo de Backus–Naur. Tiaj formalaj difinoj iĝis normo de post Algolo, kaj la nunaj generacioj de programistoj estas edukitaj per tiaj formalismoj. Ĝenerale la Reviziita Raporto pri Algolo 60 nun aspektas kiel verko tre eleganta, mallonga kaj klara. Nun oni malfacile komprenas, kial la samtempanoj opiniis ĝin tre komplikita kaj malfacile komprenebla.

 La novaj konceptoj 
Algolo 60 enkondukis tutan serion da novaj nocioj, pluraj el kiuj de tiam iĝis nepraj trajtoj de ĉiuj programlingvoj kiuj lin sekvis. Inter ili estas la nocioj de bloko kaj regiono de la deklaroj, pasigo de proceduraj parametroj per valoro, la rekursiaj proceduroj, dinamikaj tabeloj, riĉaj iteracioj.

La tradukiloj verkitaj por Algolo influis la komputilajn arkitekturojn, precipe ili inspiris kreadon de aparataj stakoj.

La ĉefa malavantaĝo de Algolo 60 estis manko de normigita eneligo kaj de influa industria subteno.

 Piednotoj 

Kategorio:Programlingvoj