So, what's new from Perl?

A few weeks ago I read a discussion thread that mentioned Perl. It might be about Mojolicious 2.0 release, on reddit, my memory is failing me. A commenter asked about what novel projects that originated from the Perl community the past several years (like the last 3 years).

Perl used to be the source of ideas that get copied to other languages, e.g. DBI, WWW::Mechanize, and its regex flavor. Now the tide has turned, and although that is not a bad thing, one might wonder the same question.

It's true that for web development, many new ideas nowadays come from Ruby/Python/JavaScript/and others instead of Perl (although "new" sometimes is very loosely defined). Nevertheless, Dancer is a port from Ruby's Sinatra, PSGI from WSGI/Rack, and so on. Some other projects also are "stolen" from other languages: perlbrew, cpanm (well not exactly, but the one-off command-line nature and verbosity reminds one of PHP's pear or rubygem client).

However, I believe Perl still has a lot to offer in other areas, esp text processing. There's Marpa, a new kind of parser that's written in Perl originally. There's also Regexp::Grammars, of which I haven't found equivalents in other languages.

I wonder what else? Is carton original? How about Ubic?

(Also, while slightly off-topic, there are old projects that have not been properly ported to other languages. No other languages have bothered to build an infrastructure like CPAN (including RT, regression testing framework and all) for example. Last time I checked, in terms of features mod_ruby and other languages' equivalents are still lagging far behind mod_perl.)

5 Comments

cpanm might be borrowed, but the languages that made its predecessors borrowed their concepts from CPAN.pm. The concept of centrally located packages stems from LaTeX and CTAN, but Perl (I believe) was the first to have an installer which fetched and installed them. cpanm is just an improvement to usability. http://en.wikipedia.org/wiki/CPAN

I am to be blamed for stealing lots of things from Ruby and Python to Perl - if there's anything to blame.

To answer your question, carton is not original, as its DESCRIPTION says clearly - I steal good things from Ruby's gem bundler, Python's pip and node's npm.

How about PITA?

No one else has copied the testing infrastructure that has grown around the CPAN over the years yet. There is no other programming community that provides its members with this level of information about the quality of the libraries in its central repository (which itself is still unparalleled, though not to the extent that this used to be the case), or provides its authors with this extent of automatic systematic quality assistance – on a volunteer basis.

Now, other programming communities have some amount of testing culture, even if it isn’t close to the Perl camp’s; the infrastructure isn’t exactly new either. So that in itself probably does not qualify as a new idea.

But PITA would represent a genuine step forward not found elsewhere, and it builds on what Perl already has in this area.

Leave a comment

About Steven Haryanto

user-pic A programmer (mostly Perl 5 nowadays). My CPAN ID: SHARYANTO. I'm sedusedan on perlmonks. My twitter is stevenharyanto (but I don't tweet much). Follow me on github: sharyanto.