Perl and Parrot – Baseless Myths and Startling Realities

 
I was recently invited to speak at the Irish Web Technology Conference (26-29 May in Dublin). I’m used to preaching to the converted but this would be the first time I’ve spoken to a (presumably) more sceptical audience. I agreed speak but haven’t yet been asked to provide an abstract.
 
Around the same time I saw a call for participation for XTech (6-9 May in Dublin). So I figured I’d submit a proposal. I’m guessing the audience would be similar so I could develop a single talk for both.
 
Here’s what I came up with in the last hour before the deadline: 
Perl5:
  • Perl5 isn’t the new kid on the block. Perl is 21 years old. Perl5 is 14 years old.
  • Perl5 hasn’t been generating buzz recently.
  • Perl5 has just been getting on with the job. Boring but true.
  • Lots of jobs, in fact. I’ll show you the surprising scale of the Perl jobs market.
 
Massive Module Market:
  • Vibrant developer community
  • Over 14,000 distributions (53,000 modules) with over 6,400 ‘owners’ (lead developers).
  • Thousands of releases per month to hundreds of modules.
  • CPAN has over 360 mirrors in 51 regions (TLDs)
  • Automated testing applied to all uploads by the CPAN Testers Network: 61 different platforms and 20 different versions of Perl.
  • I’ll take you on a lightning tour.
 
Perl5.10:
  • Five years after Perl5.8, Perl5.10 is now out.
  • Packing a powerful punch for power users.
  • I’ll show you the highlights.
 
Parrot:
  • An advanced virtual machine for dynamic languages.
  • Advanced capabilities with blinding speed.
  • Already supports over 20 languages.
  • I’ll give you a quick overview.
 
Perl6:
  • A new generation of programming languages.
  • Advancing the state of the art in powerful practical languages.
  • specification not an implementation.
  • Multiple implementations exist already.
  • Generating code for multiple backends: Parrot, Perl5, Lisp, JavaScript.
  • Sharing a common test suite of almost 20,000 tests.
  • Perl6 is written in the best language for the job: Perl6!
  • I’ll demonstrate Perl6 code for you.

And I’ll do all this in 40 minutes. Fasten your seat-belts!

 

The IWTC session is 75 minutes so I figure I can write a good presentation by the end of February for that and then distil the essence down to the 40 minute session I (hope to) have at XTech in May.
 
I’d welcome any comments on the abstract. Especially anything worth saying, or ideally showing, to a relatively perl-sceptical audience.
 
I don’t want to get into a  language comparison debate. Perl can stand on it’s own. But I do want to show that for any cool gizmo that language Foo has, that Perl has something similar. An obvious example is “Ruby has Rails, Perl has Catalyst (and others)”. That’s easy to say but doesn’t carry much weight. For each of those I’d really like great example.
 
For Catalyst a big-name-web-site built using it would do. Other cool gizomos need other killer examples. Got any suggestions?
 
Looking at it the other way, perl has a few cool gizmos that might be worth a mention if time allows: perltidy springs to mind. What others can you think of? And what parallels do they have in other languages?
About these ads

9 thoughts on “Perl and Parrot – Baseless Myths and Startling Realities

  1. You mentioned perltidy; i am not a big fan of it, but i use Perl::Critic a lot.

    A few days ago i did a 1-hour talk about it at Jerusalem Perl Mongers.

    The talk was 100% improvised.

    I started by installing Perl::Critic from cpan, and while make / make test ran, i explained about the book (PBP). When the installation was over, i started by writing a ‘Hello, world’ program, and ran it through Perl::Critic from gentle to brutal, showcasing .perlcriticrc, ## no critic, `perlcritic -list | grep PolicyName`, /xms regexes, and other things on the way.

    The talk was planned for one hour, so i took my time, but it could be much shorter.

  2. Ah yes, Perl::Critic. Definitely worth a demo to a perl-sceptic crowd. Helps show that a language famed (or dammed) for having ‘more than one way to do it’ also takes best practices seriously. Thanks.

  3. I’d also consider mentioning Moose. It’s quite impressive once you realize everything you can do with it, and it also _looks_ really nice with its declarative syntax. Some highlights of Moose I’d mention are its type system (with coercions), roles, method modifiers, and attribute metaclasses.

    Another cool thing about Moose is that it’s highly introspectable, so not only can you get all this cool behavior, you can know what you’ve done.

    Personally, Moose is pretty much the most exciting thing I’ve seen come out of the Perl 5 world in quite some time, and I’m really enjoying using it for my projects.

    Stop by #moose if you have questions.

  4. hi Tim,

    Barry here from the Irish Web Technology Conference.

    We’re really pleased to welcome you as a speaker to the IWTC 2008, and look forward to your presentation.

    Should your readers also want to come and see your presentation in Dublin, there are numerous airlines flying into most UK airports – http://iwtc.firstport.ie/location.aspx – so there’s no excuse not to!!!

    Tim, we also have a profile and abstract page for you – http://iwtc.firstport.ie/bio.aspx?sid=68 – please send in your details so we are able to publish.

    I look forward to meeting you.
    Best
    Barry

  5. Pingback: Comparative Language Job Trend Graphs « Not this…

  6. I am really impressed by Devel::Cover, which could make a nice introduction to the testing infrastructure that Perl offers. It could give you some minutes to talk about Kwalitee, CPAN testers and CPAN bug tracking tools. An often overlooked side of CPAN, in my opinion.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s