The ghost of Algol 68
Ever wonder why bash
closes if
blocks with fi
? This practice was inctroduced in Algol 68, a language that Perl 6 was accused of reinventing yesterday on the perl6-language
list.
Curious, I went to the Wikipedia article to read up on Algol 68.
ALGOL 68 (short for ALGOrithmic Language 1968) is an imperative computer programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously defined syntax and semantics.
"Successor." "Wider scope of application". "More rigorously defined syntax and semantics". Sound familiar?
ALGOL 68 has been criticized [...] for abandoning the simplicity of ALGOL 60 becoming a vehicle for complex or overly general ideas, and doing little to make the compiler writer's task easy [...]
Oh dear. ☺ We even have the 'do little to make the compiler writer's task easy' meme in Perl 6...
<TimToady> after all, Perl Philosphy is simply to torment the implementors on behalf of the user (#perl6, 2008-10-09)
<pmichaud> aha! I have a quote for my keynote.
Besides that, there's all these other little parallels, such as
- Algol 68 seemingly playing with words (they borrowed the term 'gomma' from Finnegan's Wake, but the feature it denoted got scrapped in a 1973 revision),
- something junction-like called 'multiple value',
- a whole heap of values for different forms of nothing and undefinedness,
- a newly-invented grammar formalism, and
- a general feeling of deep ambitiousness and a desire to get things right.
So, there are deep similarities between Algol 68 and Perl 6. There's not much to say to that, except perhaps "huh".
If there's anything in it all that's uplifting though, it's the second paragraph of the article:
Contributions of ALGOL 68 to the field of computer science are deep and wide ranging, although some of them were not publicly identified until they were passed, in one form or another, to one of many subsequently developed programming languages.
If that's not spot on for Perl 6, I think it will be in a decade or so.