Frozen Perl 2011: Keynote

Keynote = 5 things I hate about Perl

brian d foy gave the keynote this year. He talked about his talk from two years that was sort of based on Better Off by Eric Bende, his reading of Skeptic magazine and what this means regarding Perl.

As part of this he touched on the fashionable memes of why some hates or loves a languages, Perl in particular. Sometimes it's misinformed or ignorant hate or just as a way to validate their choice.

So he was thinking about why there is some much love, or hate, for Perl?

This led into an interview question, "What are 5 things you hate about Perl?"

This shows 3 things: real experience, depth and reach of knowledge, and workarounds used for those things.

This also relaxes the interviewee because it shows it is ok to criticise language being used/talked about.

brian then talked about what he hates about Perl. His list was things like: CPAN, licensing or reusability. He didn't go into any real detail about those.

He focused on 'use'.

What does 'use' actually do? It expands the module into a path, it puts it %INC and imports things.

This does a couple of problematic things.

  • It ties the module to the file system.

  • First one found in %INC wins.

  • How are versions handled?

  • What various installations of the module?

  • What about private CPANs/darkPans?

Perl 6 sort of addresses this with something like:

use Dog

:auth (BDFOY)



So brian was thinking about how the cpan client/module can be updated to better deal with these problems.

What does this mean? For me, I think it means I need to put more critical thought into some things, especially the tools, languages and assumptions I have been taking for granted for some time now.

For me about the only thing I could think of hating about Perl was some of the OO syntax but I don't do much OO stuff in Perl so I don't have to deal with it too much. Which means I need to think a bit more.


The licensing and reusability parts where things I could have whined about for CPAN, but I think those are easy targets. :) Instead, I went for the odd things we have to live with because namespaces turn into filenames, or, thinking about it the other way around, the filenames are namespaces. It's mostly the fault of use, and lots of things are built on top of those assumptions.

Leave a comment

About gizmo_mathboy

user-pic I blog about Perl.