Strangely Consistent

Theory, practice, and languages, braided together

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

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.