Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

masak (6289)

  (email not shown publicly)

Been programming Perl since 2001. Found Perl 6 somewhere around 2004, and fell in love. Now developing November (a Perl 6 wiki), Druid (a Perl 6 board game), pls (a Perl 6 project installer), GGE (a regex engine), and Yapsi (a Perl 6 implementation). Heavy user of and irregular committer to Rakudo.

Journal of masak (6289)

Monday March 08, 2010
05:01 PM

The ghost of Algol 68

[ #40232 ]

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.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Many of those criticisms could apply to many revisions of many languages. (I can think of one popular exception.)

  • an accusation of being Algol 68 is almost as perjorative as being PL-1 like or Ada like.

    It is not in any way complimentary.

    Alogol 68 is not in any way remembered fondly by people wishing to write code partly because even if you like the ideas there were so few implementations that it was higly unlikely they would run.

    • an accusation of being Algol 68 is almost as perjorative as being PL-1 like or Ada like.

      It is not in any way complimentary.

      Thanks for letting me know.

      I didn't write the post because I thought Algol 68 was an admirable or ideal language. I wrote it because some of the sentences in the Wikipedia article felt like they could have been pulled from a Wikipedia article about Perl 6. There wasn't really any other value judgement involved. I have next to zero knowledge about the legacy of Algol 68.

  • I had a similar experience about fifteen years ago. I was reading a description of a late-sixties-era programming language and thought "wow, this sounds just like Perl".

    Here is the description:

    PERL (Practical Extraction and Report Language) is a programming language developed with the intention of combining features of commercial languages (such as COBOL) and scientific languages (such as ALGOL). Commercial applications with their emphasis on efficient handling of large volumes of data have led to the de

  • About language comparisons, I strongly recommend reading []

    • Heh. I was already reading that when you wrote the comment. :)

      The author says a lot of the things in the concluding sections than I did in my post. I recommend the whole text to anyone interested.

      Right now I'm reading Tanenbaum's introduction [] to Algol 68. It's also pretty good.

    • I had a discussion about that article with a knowledgeable friend who was not at all impressed… though unfortunately I don’t remember much of what he said.

  • Steve Bourne (Bourne Shell) was one of the authors of Algol 68. You should see the source code! It's all ALGOLIZED!
    • Randal L. Schwartz
    • Stonehenge