21 Algol 60 Compilers in 1962
In 1962, ALGOL 60's introduction spurred compiler development, facing challenges like limited resources. Median implementation time was two man-years, with academic influences contrasting corporate-driven languages like Fortran and COBOL.
Read original articleIn 1962, the landscape of programming languages was significantly shaped by the introduction of ALGOL 60, which had its specification published in May 1960. During this period, compiler development was a burgeoning field, with a June 1962 paper documenting around 21 compilers, although some may have been dialects or closely related languages. The 1960s marked a pivotal era for programming languages, often referred to as a "Cambrian explosion." Compiler writers faced numerous challenges, including limited memory resources and primitive input/output methods, such as punched cards and tapes. The median implementation time for these compilers was approximately two man-years, with some implementations taking as little as 0.25 man-years for simple ports, while others, like those by SDC, required up to 80 man-years for comprehensive implementations. The ALGOL 60 Implementation book published in 1964 greatly advanced compiler writing techniques. The committee that defined ALGOL 60 was composed of academics, contrasting with the corporate-driven development of languages like Fortran and COBOL. This distinction may have influenced the nature of the compilers developed for ALGOL 60 compared to those for other languages.
- ALGOL 60's specification was published in May 1960, leading to the development of numerous compilers by 1962.
- Compiler development in the 1960s faced significant challenges due to limited technology and resources.
- The median implementation time for ALGOL 60 compilers was about two man-years.
- The ALGOL 60 Implementation book published in 1964 provided crucial insights for compiler writers.
- The committee behind ALGOL 60 was primarily academic, differing from the corporate influences on other languages like Fortran and COBOL.
Related
Five little languages and how they grew: Dennis Ritchie's talk at HOPL on the
Dennis M. Ritchie's 1993 HOPL conference transcript compares C with languages like Bliss, Pascal, Algol 68, and BCPL. He discusses similarities, unique features, and design challenges, offering insights into historical context and language development.
I Was a 1980s Teenage Programmer
Martijn Faassen reflects on his teenage programming experiences in the 1980s, highlighting his first computer, challenges faced, and the magic of learning programming in a small Dutch village.
The Lost Language Extensions of MetaWare's High C Compiler
MetaWare's High C Compiler introduced innovative language extensions in the 1980s, including underscores in numeric literals, labeled arguments, case ranges, nested functions, and generator coroutines, influencing modern programming languages.
From Punch Cards to Python: Grace Hopper's A-0 compiler paved the way
Grace Hopper's development of the A-0 compiler in 1952 revolutionized programming by translating high-level languages into machine code, significantly reducing programming time and paving the way for COBOL and modern languages.
Algol-68 seemed like a good idea – until it wasn't
Algol-68, developed in the 1960s as an extension of Algol-60, became overly complex, faced criticism, struggled for industry support, and ultimately failed to achieve broader success despite niche applications.
https://www.masswerk.at/algol60/report.htm
Call by name in particular can be very tricky, especially where it intersects with higher-order functions.
It can also be interesting to read contemporary discussions of problematic spots in the language, e.g.:
https://dl.acm.org/doi/10.1145/366193.366209
https://dl.acm.org/doi/10.1145/363717.363743
And the original ALGOL bulletin which has committee reports and mailing lists for the design process:
https://archive.computerhistory.org/resources/text/algol/alg...
Not really working in the area and did not research now, but I can come up with:
* gcc
* clang
* Microsoft probably has their own implementation
* Intel probably still has their own implementation
* ?
Edit: OpenVMS maybe, but not sure whether that qualifies for in wider use
Edit2: ARM of course
I wonder why the retrocomputing crowd hasn't done much in ALGOL. Perhaps because it's just easier to write in BASIC, which was influenced by it.
Formal Syntax: ALGOL 60 used Backus-Naur Form (BNF) to formally define its syntax, setting a standard for future language specifications.
Recursion: It supported recursive function calls, which was revolutionary at the time.
Lexical Scoping: It allowed nested functions and controlled variable scope.
Platform Independence: It aimed to be machine-independent, making it suitable for documenting algorithms.
Related
Five little languages and how they grew: Dennis Ritchie's talk at HOPL on the
Dennis M. Ritchie's 1993 HOPL conference transcript compares C with languages like Bliss, Pascal, Algol 68, and BCPL. He discusses similarities, unique features, and design challenges, offering insights into historical context and language development.
I Was a 1980s Teenage Programmer
Martijn Faassen reflects on his teenage programming experiences in the 1980s, highlighting his first computer, challenges faced, and the magic of learning programming in a small Dutch village.
The Lost Language Extensions of MetaWare's High C Compiler
MetaWare's High C Compiler introduced innovative language extensions in the 1980s, including underscores in numeric literals, labeled arguments, case ranges, nested functions, and generator coroutines, influencing modern programming languages.
From Punch Cards to Python: Grace Hopper's A-0 compiler paved the way
Grace Hopper's development of the A-0 compiler in 1952 revolutionized programming by translating high-level languages into machine code, significantly reducing programming time and paving the way for COBOL and modern languages.
Algol-68 seemed like a good idea – until it wasn't
Algol-68, developed in the 1960s as an extension of Algol-60, became overly complex, faced criticism, struggled for industry support, and ultimately failed to achieve broader success despite niche applications.