Due Credit to the Unsung

Warning: introspection and metadiscussion follows for several paragraphs.

Piers Cawley is right about Modern Perl, this is a manifesto. Like all good manifestoes, it ignores some of the details of reality in order to bring about a more pleasing reality.

I've written voluminously here and elsewhere about many technical problems with Perl 5 and its culture. I hope I've not given the impression that I believe these problems are insurmountable, nor that the community and the language and the ecosystem are irredeemable. I believe the opposite. I write and argue and debate and think and exhort because I believe that we can address these problems and invent a better future.

It's difficult to throw a revolution when no one shows up, however. Hence the manifesto nature of these writings. I've deliberately chosen black-and-white imagery and simple, surgical discussions of various ideas to present my arguments with sharp precision. Sometimes it may sound like I'm a knight on a white horse tilting against a big windmill labeled "The Perl 5 Porters". That's not precisely true. Not only is p5p an amorphous group of hundreds of individuals with thousands of opinions, but all I really want to fight is inertia.

With that said, there are several people actively working on improving problems I've identified. I won't take credit for inspiring them; I can't. They work often behind the scenes, doing wonderful things that help hundreds of thousands of people directly and hundreds of millions of people indirectly. Their work is hugely important. Though I can't name every one of them here right now, they all deserve credit for helping Perl and its ecosystem to continue to evolve.

  • Nicholas Clark has released more stable versions of Perl in the past decade than anyone else. He was the initial guinea pig for the experiment of releasing a new maintenance release every three months. His practical experiences will help us return to a regular release cycle.

    As well, one of his current projects is revising portions of the Perl core (especially its library loading paths in @INC) to promote freshly installed modules over core versions. This is an important step toward moving more modules out of the core.

  • Andreas König, the creator and maintainer of the CPAN module has wonderful tools for testing any CPAN distribution against any revision of bleadperl. This has found and fixed many bugs in both the core and CPAN modules.
  • Rafaël Garcia-Suarez is a core committer and was the pumpking for Perl 5.10. He approved several important changes such as deprecating pseudo-static lexical variables, making the topic variable lexicalizable, and adding the name of an undefined variable to the undefined variable concatenation warning. These deprecations and backwards-incompatible changes make modern Perl easier to write and to maintain.
  • Dave Mitchell is a core committer and pumpking for Perl 5.10.1. He's fixed countless bugs -- countless difficult and thankless bugs -- and is the man to convince to continue to improve Perl.
  • Yves Orton refactored the regular expression engine for Perl 5.10, making it more correct, often faster, and much more featureful. It's impossible to overestimate how much work this was.
  • Paul Fenwick marshalled a group of volunteers to maintain a list of changes between Perl 5.8 and Perl 5.10. He's also written a replacement for the difficult-to-use Fatal core module. Its replacement is autodie.
  • Michael Schwern maintains the core module ExtUtils::MakeMaker. No one wants to see this code die more than he does. (Not even I want to see it die that much.) It's thankless, difficult work -- but Schwern has kept up with necessary changes so that its eventual replacement can take over silently and effortlessly. He also recently effectively removed any reason to use Perl 5.005, by declining to support it in newer versions of MakeMaker.

I can only mention several other contributors, such as Renée Bäcker, David Landgren, Sam Vilain (who helped migrate Perl 5 to git, making releases and collaboration much easier), Leon Brocard (another migration worker and pumpking in his own right), David Cantrell, Steffen Mueller, Craig Berry, and John Malmberg.

I could list dozens more.

Perl 5 is not perfect. Its development process still has its flaws. We can improve it many times over. Yet credit must go to all contributors who have brought it this far -- and who continue to help it grow and thrive. Thank you all.

Modern Perl: The Book

cover image for Modern Perl: the book

The best Perl Programmers read Modern Perl: The Book.

sponsored by the How to Make a Smoothie guide



About this Entry

This page contains a single entry by chromatic published on February 27, 2009 2:55 PM.

Pick One (and also, you should win stuff) was the previous entry in this blog.

Turning Baby Perl into Grownup Perl is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by the Perl programming language

what is programming?