We’re still catching up to Perl

With very few exceptions, code written to run on any Perl released since 2000 (38 stable releases of Perl in that time period, eight of them major releases) runs without modification

That’s from a great little article by Chromatic about modern Perl in the latest issue of PragPub. The article goes in to discuss a number of other strengths of Perl, such as its strong community dedication to testing across numerous architectures, services for understanding package dependencies (that sound like they go beyond anything presently available for Ruby), and legendary standards of documentation.

It’s good to be reminded of things that other, more mature programming communities do well. I’m fond of pointing out that Perl had the best, most informative error message of any language ever. And Perl has been at the forefront in a lot of areas. Notably, as far as I’m aware it was the first language to take unicode integration seriously, and I would not be surprised if still has better support than any other programming system.

7 comments

  1. With very few exceptions, code written to run on any Perl released since 2000 (38 stable releases of Perl in that time period, eight of
    them major releases) runs without modification

    Don’t worry, P5P is working on fixing that right now

  2. Since 2.0 was released Ruby is faring quite OK compatibility-wise and certainly a lot better than Python today. Perl situation is quite unique among programming languages.

  3. “Catching up” implies that there’s some kind of goal line, or (in more-rigorous words) that there’s some specific, measurable deficiency that Ruby exhibits in comparison to Perl.

    Is “being able to run the last 20 years of code without modification” really an appropriate goal for the Ruby community to sink their resources into? I’m not sure it is. I’ve never met a ruby developer who was stymied by the lack of perfect backwards-compatibility. If ruby users don’t need it, then it’s not a “deficiency” to not have it.

    Of course this is an impressive achievement by our friends across the pond in Perl-land, but I don’t think it reflects poorly on Ruby to not be able to say the same.

    1. That’s why smart Perl programmers don’t rely on the system perl. Just use local::lib (or perlbrew or whatever) and cpanm to install/maintain the module set you need.

Leave a Reply

Your email address will not be published. Required fields are marked *