Difference between revisions of "Algol"
GerdIsenberg (talk | contribs) (Created page with "'''Home * Programming * Languages * Algol''' FILE:Eclipsing binary star animation 2.gif|border|right|thumb| Algol rotation <ref>Eclipsing binary star...") |
GerdIsenberg (talk | contribs) |
||
Line 3: | Line 3: | ||
[[FILE:Eclipsing binary star animation 2.gif|border|right|thumb| Algol rotation <ref>Eclipsing binary star animation, created by [https://commons.wikimedia.org/wiki/User:Stanlekub Stanlekub] with [https://en.wikipedia.org/wiki/Blender_(software) Blender] and the [https://en.wikipedia.org/wiki/GIMP GIMP], [https://de.wikipedia.org/wiki/Algol_(Stern)#Bedeckungsver%C3%A4nderlicher_Stern Algol (Stern) Wikipedia.de], [https://en.wikipedia.org/wiki/Wikimedia_Commons Wikimedia Commons]</ref> ]] | [[FILE:Eclipsing binary star animation 2.gif|border|right|thumb| Algol rotation <ref>Eclipsing binary star animation, created by [https://commons.wikimedia.org/wiki/User:Stanlekub Stanlekub] with [https://en.wikipedia.org/wiki/Blender_(software) Blender] and the [https://en.wikipedia.org/wiki/GIMP GIMP], [https://de.wikipedia.org/wiki/Algol_(Stern)#Bedeckungsver%C3%A4nderlicher_Stern Algol (Stern) Wikipedia.de], [https://en.wikipedia.org/wiki/Wikimedia_Commons Wikimedia Commons]</ref> ]] | ||
− | ''' | + | '''ALGOL''' (ALGOrithmic Language)<br/> |
is a family of [https://en.wikipedia.org/wiki/Imperative_programming imperative] computer programming languages developed jointly by a committee of European and American computer scientists in a meeting in 1958 at [[ETH Zurich]] ([https://en.wikipedia.org/wiki/ALGOL_58 Algol 58]). | is a family of [https://en.wikipedia.org/wiki/Imperative_programming imperative] computer programming languages developed jointly by a committee of European and American computer scientists in a meeting in 1958 at [[ETH Zurich]] ([https://en.wikipedia.org/wiki/ALGOL_58 Algol 58]). | ||
Algol 58 introduced code blocks and the begin and end pairs for delimiting them. Two years later, [https://en.wikipedia.org/wiki/ALGOL_60 Algol 60] was specified, as the result of a meeting in Paris in January 1960 by 13 European and American scientists, [https://en.wikipedia.org/wiki/Peter_Naur Peter Naur], [https://en.wikipedia.org/wiki/John_Backus John Backus], [[John McCarthy]], [[Mathematician#Bauer|Friedrich L. Bauer]], [[Mathematician#AvWijngaarden|Adriaan van Wijngaarden]], et al. Algol 60 became the standard for the publication of algorithms and had a profound effect on future language development, it was the first language implementing [https://en.wikipedia.org/wiki/Nested_function nested function] definitions with [https://en.wikipedia.org/wiki/Lexical_scope#Static_versus_dynamic_scoping lexical scope]. | Algol 58 introduced code blocks and the begin and end pairs for delimiting them. Two years later, [https://en.wikipedia.org/wiki/ALGOL_60 Algol 60] was specified, as the result of a meeting in Paris in January 1960 by 13 European and American scientists, [https://en.wikipedia.org/wiki/Peter_Naur Peter Naur], [https://en.wikipedia.org/wiki/John_Backus John Backus], [[John McCarthy]], [[Mathematician#Bauer|Friedrich L. Bauer]], [[Mathematician#AvWijngaarden|Adriaan van Wijngaarden]], et al. Algol 60 became the standard for the publication of algorithms and had a profound effect on future language development, it was the first language implementing [https://en.wikipedia.org/wiki/Nested_function nested function] definitions with [https://en.wikipedia.org/wiki/Lexical_scope#Static_versus_dynamic_scoping lexical scope]. | ||
Line 29: | Line 29: | ||
11678 END CLEAR; | 11678 END CLEAR; | ||
</pre> | </pre> | ||
+ | |||
+ | =Algol Chess Programs= | ||
+ | * [[:Category:Algol|Category Algol]] | ||
=Selected Publications= | =Selected Publications= | ||
+ | * [[Mathematician#Samelson|Klaus Samelson]], [[Mathematician#Bauer|Friedrich L. Bauer]] ('''1960'''). ''[http://portal.acm.org/citation.cfm?id=366968 Sequential Formula Translation]''. [[ACM#Communications|Communications of the ACM]], Vol. 3 No. 2 | ||
* [[Christopher Strachey]], [[Mathematician#MVWilkes|Maurice Wilkes]] ('''1961'''). ''[https://dl.acm.org/doi/10.1145/366813.366816 Some Proposals for Improving the Efficiency of ALGOL 60]''. [[ACM#Communications|Communications of the ACM]], Vol. 4, No. 11 | * [[Christopher Strachey]], [[Mathematician#MVWilkes|Maurice Wilkes]] ('''1961'''). ''[https://dl.acm.org/doi/10.1145/366813.366816 Some Proposals for Improving the Efficiency of ALGOL 60]''. [[ACM#Communications|Communications of the ACM]], Vol. 4, No. 11 | ||
* [http://www.mathnet.ru/php/person.phtml?option_lang=eng&personid=63222 V. I. Sobel'man], [[Mikhail R. Shura-Bura]] ('''1962'''). ''[http://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=zvmmf&paperid=7886&option_lang=eng Realization of recursive procedures in the language of AlGOL-60]''. (Реализация Рекурсивных Процедур В Языке Алгол-60) [http://www.mathnet.ru/php/archive.phtml?jrnid=zvmmf&option_lang=eng&wshow=statlist Zhurnal Vychislitel'noi Matematiki i Matematicheskoi Fiziki], Vol. 2, No. 2 | * [http://www.mathnet.ru/php/person.phtml?option_lang=eng&personid=63222 V. I. Sobel'man], [[Mikhail R. Shura-Bura]] ('''1962'''). ''[http://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=zvmmf&paperid=7886&option_lang=eng Realization of recursive procedures in the language of AlGOL-60]''. (Реализация Рекурсивных Процедур В Языке Алгол-60) [http://www.mathnet.ru/php/archive.phtml?jrnid=zvmmf&option_lang=eng&wshow=statlist Zhurnal Vychislitel'noi Matematiki i Matematicheskoi Fiziki], Vol. 2, No. 2 | ||
Line 39: | Line 43: | ||
* [https://en.wikipedia.org/wiki/ALGOL_60 ALGOL 60 from Wikipedia] | * [https://en.wikipedia.org/wiki/ALGOL_60 ALGOL 60 from Wikipedia] | ||
* [https://en.wikipedia.org/wiki/ALGOL_68 ALGOL 68 from Wikipedia] | * [https://en.wikipedia.org/wiki/ALGOL_68 ALGOL 68 from Wikipedia] | ||
+ | * [https://en.wikipedia.org/wiki/ALGOL_W ALGOL W from Wikipedia] | ||
* [http://www.softwarepreservation.org/projects/ALGOL History of ALGOL — Software Preservation Group] from [[The Computer History Museum]] | * [http://www.softwarepreservation.org/projects/ALGOL History of ALGOL — Software Preservation Group] from [[The Computer History Museum]] | ||
− | * [ | + | * [http://www.softwarepreservation.org/projects/ALGOL/algol58impl Algol 58 implementations and dialects — Software Preservation Group] from [[The Computer History Museum]] |
+ | * [http://www.softwarepreservation.org/projects/ALGOL/algol60impl Algol 60 implementations and dialects — Software Preservation Group] from [[The Computer History Museum]] | ||
+ | * [http://www.softwarepreservation.org/projects/ALGOL/algol68impl Algol 68 implementations and dialects — Software Preservation Group] from [[The Computer History Museum]] | ||
* [http://www.osp.ru/cw/1999/45/38679/ Трансляторы с Алгола-60 - № 45, 1999] [[Computerworld#Russia|Computerworld Россия]] (Russian) | * [http://www.osp.ru/cw/1999/45/38679/ Трансляторы с Алгола-60 - № 45, 1999] [[Computerworld#Russia|Computerworld Россия]] (Russian) | ||
Latest revision as of 10:01, 29 February 2020
Home * Programming * Languages * Algol
ALGOL (ALGOrithmic Language)
is a family of imperative computer programming languages developed jointly by a committee of European and American computer scientists in a meeting in 1958 at ETH Zurich (Algol 58).
Algol 58 introduced code blocks and the begin and end pairs for delimiting them. Two years later, Algol 60 was specified, as the result of a meeting in Paris in January 1960 by 13 European and American scientists, Peter Naur, John Backus, John McCarthy, Friedrich L. Bauer, Adriaan van Wijngaarden, et al. Algol 60 became the standard for the publication of algorithms and had a profound effect on future language development, it was the first language implementing nested function definitions with lexical scope.
Algol 68 was designed by IFIP, while Niklaus Wirth based his own Algol W [2] on Algol 60 before moving to develop Pascal.
Algol W
A boolean procedure in Algol W from the chess program Awit by Tony Marsland [3] :
11662 LOGICAL PROCEDURE CLEAR(INTEGER VALUE SQA, SQF, SQT); 11663 BEGIN 11664 INTEGER DIR; 11665 LOGICAL FREE; 11666 FREE := FALSE; 11667 DIR := BOTV(EDGE, OFFSET(SQF)−OFFSET(SQT)); 11668 IF DIR ~= 0 THEN BEGIN 11669 FREE := TRUE; 11670 IF SQA ~= SQF AND 11671 DIR = BOTV(EDGE, OFFSET(SQA)−OFFSET(SQT)) 11672 THEN FREE := FALSE; 11673 FOR SQ := SQF+DIR STEP DIR UNTIL SQT−DIR 11674 DO IF FREE AND BRD(SQ) ~= 0 11675 THEN FREE := FALSE; 11676 END; 11677 FREE 11678 END CLEAR;
Algol Chess Programs
Selected Publications
- Klaus Samelson, Friedrich L. Bauer (1960). Sequential Formula Translation. Communications of the ACM, Vol. 3 No. 2
- Christopher Strachey, Maurice Wilkes (1961). Some Proposals for Improving the Efficiency of ALGOL 60. Communications of the ACM, Vol. 4, No. 11
- V. I. Sobel'man, Mikhail R. Shura-Bura (1962). Realization of recursive procedures in the language of AlGOL-60. (Реализация Рекурсивных Процедур В Языке Алгол-60) Zhurnal Vychislitel'noi Matematiki i Matematicheskoi Fiziki, Vol. 2, No. 2
External Links
- ALGOL from Wikipedia
- ALGOL 58 from Wikipedia
- ALGOL 60 from Wikipedia
- ALGOL 68 from Wikipedia
- ALGOL W from Wikipedia
- History of ALGOL — Software Preservation Group from The Computer History Museum
- Algol 58 implementations and dialects — Software Preservation Group from The Computer History Museum
- Algol 60 implementations and dialects — Software Preservation Group from The Computer History Museum
- Algol 68 implementations and dialects — Software Preservation Group from The Computer History Museum
- Трансляторы с Алгола-60 - № 45, 1999 Computerworld Россия (Russian)
References
- ↑ Eclipsing binary star animation, created by Stanlekub with Blender and the GIMP, Algol (Stern) Wikipedia.de, Wikimedia Commons
- ↑ Algol W Language Description (pdf)
- ↑ Awit Source code in Algol W by Tony Marsland (pdf)