Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ALGOL
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Family of programming languages}} {{About|the programming language family||Algol (disambiguation)}} {{Use dmy dates|date=February 2020}} {{EngvarB|date=June 2022}} {{Infobox programming language | name = ALGOL | logo = 1965 ALGOL-20 A Language Manual, Fierst et al - cover.jpg | logo caption = A 1965 manual for ALGOL-20 | paradigm = [[Procedural programming|Procedural]], [[Imperative programming|imperative]], [[Structured programming|structured]] | family = ALGOL | designers = [[Friedrich Ludwig Bauer|Bauer]], [[Hermann Bottenbruch|Bottenbruch]], [[Heinz Rutishauser|Rutishauser]], [[Klaus Samelson|Samelson]], [[John Warner Backus|Backus]], [[Charles Katz|Katz]], [[Alan Jay Perlis|Perlis]], [[Joseph Henry Wegstein|Wegstein]], [[Peter Naur|Naur]], [[Bernard Vauquois|Vauquois]], [[Adriaan van Wijngaarden|van Wijngaarden]], [[Michael Woodger|Woodger]], [[Julien Green (computer scientist)|Green]], [[John McCarthy (computer scientist)|McCarthy]] | released = {{Start date and age|1958}} | typing = [[Static type|Static]], [[Strong and weak typing|strong]] | scope = [[Scope (computer science)|Lexical]] | implementations = | influenced = Most subsequent imperative languages (including so-called ''ALGOL-like'' languages)<br/>e.g. [[PL/I]], [[Simula]], [[Pascal (programming language)|Pascal]], [[C (programming language)|C]] and [[Scheme (programming language)|Scheme]] }} '''ALGOL''' ({{IPAc-en|ˈ|æ|l|g|ɒ|l|,_|-|g|ɔː|l}}; short for "'''Algorithmic Language'''")<ref>The name of this language family is sometimes given in mixed case ([http://www.masswerk.at/algol60/report.htm ''Algol 60''] {{webarchive|url=https://web.archive.org/web/20070625171638/http://www.masswerk.at/algol60/report.htm |date=25 June 2007}}), and sometimes in all uppercase ([https://www.cs.ru.nl/~hubbers/courses/sl1/rr.pdf ''ALGOL68''] {{webarchive|url=https://web.archive.org/web/20140913132128/http://www.cs.ru.nl/~hubbers/courses/sl1/rr.pdf |date=13 September 2014}}). For simplicity this article uses ''ALGOL''.</ref> is a family of [[imperative programming|imperative]] computer [[programming language]]s originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for [[algorithm]] description used by the [[Association for Computing Machinery]] (ACM) in textbooks and academic sources for more than thirty years.<ref>[http://calgo.acm.org/ ''Collected Algorithms of the ACM''] {{webarchive|url=http://archive.wikiwix.com/cache/20111017235805/http://calgo.acm.org/ |date=17 October 2011}} Compressed archives of the algorithms. [[Association for Computing Machinery|ACM]].</ref> In the sense that the [[Syntax (programming languages)|syntax]] of most modern languages is "Algol-like",<ref>{{cite web |url=http://www.eecs.qmul.ac.uk/~ohearn/Algol/intro.html |archive-url=https://web.archive.org/web/20111114122103/http://www.eecs.qmul.ac.uk/~ohearn/Algol/intro.html |title=Algol-like languages, Introduction |last1=O'Hearn |first1=P. W. |last2=Tennent |first2=R. D. |date=September 1996 |archive-date=14 November 2011}}</ref> it was arguably more influential than three other high-level programming languages among which it was roughly contemporary: [[FORTRAN]], [[Lisp (programming language)|Lisp]], and [[COBOL]].<ref>[http://groups.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html "The ALGOL Programming Language"] {{webarchive|url=https://web.archive.org/web/20161006113915/http://groups.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html |date=6 October 2016}}, University of Michigan-Dearborn</ref> It was designed to avoid some of the perceived problems with FORTRAN and eventually gave rise to many other programming languages, including [[PL/I]], [[Simula]], [[BCPL]], [[B (programming language)|B]], [[Pascal (programming language)|Pascal]], [[Ada (programming language)|Ada]], and [[C (programming language)|C]]. ALGOL introduced [[Block (programming)|code blocks]] and the <code>begin</code>...<code>end</code> pairs for delimiting them. It was also the first language implementing [[nested function]] definitions with [[lexical scope]]. Moreover, it was the first programming language which gave detailed attention to formal language definition and through the ''[[Algol 60#History|Algol 60 Report]]'' introduced [[Backus–Naur form]], a principal [[formal grammar]] notation for language design. There were three major specifications, named after the years they were first published: * [[ALGOL 58]] – originally proposed to be called ''IAL'', for ''International Algebraic Language''. * [[ALGOL 60]] – first implemented as ''X1 ALGOL 60'' in 1961. Revised 1963.<ref name=":0">{{cite journal |title=Report on the Algorithmic Language ALGOL 60 |location=Copenhagen, Denmark |date=May 1960 |doi=10.1145/367236.367262 |issn=0001-0782 |author-first1=John Warner |author-last1=Backus |author-link1=John Warner Backus |author-first2=Friedrich Ludwig |author-last2=Bauer |author-link2=Friedrich Ludwig Bauer |author-first3=Julien |author-last3=Green |author-link3=Julien Green (computer scientist) |author-first4=Charles |author-last4=Katz |author-link4=Charles Katz |author-first5=John |author-last5=McCarthy |author-link5=John McCarthy (computer scientist) |author-first6=Peter |author-last6=Naur |author-link6=Peter Naur |author-first7=Alan Jay |author-last7=Perlis |author-link7=Alan Jay Perlis |author-first8=Heinz |author-last8=Rutishauser |author-link8=Heinz Rutishauser |author-first9=Klaus |author-last9=Samelson |author-link9=Klaus Samelson |author-first10=Bernard |author-last10=Vauquois |author-link10=Bernard Vauquois |author-first11=Joseph Henry |author-last11=Wegstein |author-link11=Joseph Henry Wegstein |author-first12=Adriaan |author-last12=van Wijngaarden |author-link12=Adriaan van Wijngaarden |author-first13=Michael |author-last13=Woodger |author-link13=Michael Woodger |editor-first=Peter |editor-last=Naur |editor-link=Peter Naur |journal=[[Communications of the ACM]] |volume=3 |issue=5 |pages=299–314 |s2cid=278290 |doi-access=free}}</ref><ref>{{cite web|title=Revised Report on the Algorithmic Language Algol 60|year=1963|url=http://www.masswerk.at/algol60/report.htm|access-date=8 June 2007 |archive-url=https://web.archive.org/web/20070625171638/http://www.masswerk.at/algol60/report.htm |archive-date=25 June 2007 |url-status=live}}</ref><ref>{{cite web|title=An ALGOL 60 Translator for the X1|year=1961|url=https://www.cs.utexas.edu/users/EWD/MCReps/MR35.PDF |archive-url=https://ghostarchive.org/archive/20221009/https://www.cs.utexas.edu/users/EWD/MCReps/MR35.PDF |archive-date=2022-10-09 |url-status=live|access-date=7 January 2021}}</ref> * [[ALGOL 68]] – introduced new elements including flexible arrays, slices, parallelism, operator identification. Revised 1973.<ref name=a68>{{cite web|title=Revised Report on the Algorithmic Language ALGOL 68|year=1973|url=https://www.cs.ru.nl/~hubbers/courses/sl1/rr.pdf|access-date=13 September 2014|url-status=live|archive-url=https://web.archive.org/web/20140913132128/http://www.cs.ru.nl/~hubbers/courses/sl1/rr.pdf|archive-date=13 September 2014}}</ref> ALGOL 68 is substantially different from ALGOL 60 and was not well received,{{according to whom|date=May 2023}} so reference to "Algol" is generally understood to mean ALGOL 60 and its dialects.{{citation needed|date=May 2023}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)