Random Geekery

In Which Brian Whinges About The Perl 5 Release Schedule

Added by to Blogspot on (Updated )

Tags · perl ·

Python Blogger Refresh Part 2 - Settings Parrot Babysteps

First, The Whinging

Perl 5.10.0 was released on 18 December, 2007. chromatic, a fairly prominent Perl hacker, has been pushing hard for some kind of update to Perl 5 since - well, probably about 19 December 2007. For their own reasons, the pumpkings have not been willing to produce such an update. That is annoying.

Now, don't get me wrong. I know Perl 5 is widely installed. I know Perl 5 can be a bit of a monster to patch and maintain. I know that large shops dread the release of a new Perl 5 because it will be a matter of minutes before their developers starting pleading for the update to be available to them so they can fix old annoyances in millions of lines of production code - okay, maybe only hundreds of thousands in that particular shop - that barely works. CPAN authors will release new versions of their libraries which don't work on the old Perl. Old code will break if it uses the new Perl. There will be chaos. Panic. Forty years of darkness. The dead rising from the grave. Human sacrifice, dogs and cats living together - mass hysteria.

That doesn't mean we should stop improving Perl 5, though. You don't have to update your code if doing so will cause your organization to spontaneously combust. The old versions of Perl 5 are still available to download. Older versions of CPAN modules are also readily available. Maintenance programmers can keep on being maintenance programmers and the rest of us can start working on new stuff. We won't combust. Please, for the sake of the language, put something out there that we can point and say that shows Perl 5 is still active!

I know, Perl's not dead. But to paraphrase Jello Biafra: Perl's not dead, it just deserves to die when it becomes another stale maintenance language.

I'm not even asking for Perl 5.12.0. I wouldn't mind. I'm asking for less than that, though. I'm asking for signs of life, a regular blip next to the "Latest Version" text at http://perl.org. A bug fix release would be nice.

What prompted this bit of extended whining? Well, on the ride to work this morning I was thinking about chromatic's latest post, which got me thinking about his other posts, which got me thinking about how long it's been since Perl 5.10.0 was released. What has happened in the languages I pay attention to in the year and a half since 18 December 2007?

So I looked up the language releases as well as I could. Not the alphas, betas, or even the release candidates. Not the supplemental projects like Moose, Rails, or Pygame which add tons of fun to their respective languages and application domains. Just language releases, including bug fixes.

Releases Between 18 December 2007 and 2 July 2009 of Languages I Care About

Python

VersionReleased On
3.1.027 June 2009
2.6.214 April 2009
3.0.113 February 2009
3.0.03 December 2008
2.5.423 December 2008
2.5.319 December 2008
2.4.619 December 2008
2.6.14 December 2008
2.6.01 October 2008
2.4.511 March 2008
2.3.711 March 2008
2.5.221 February 2008

Total releases since 18 December 2007: 12

Ruby

Version Released On
1.9.1-p129 12 May 2009
1.8.7-p160 18 April 2009
1.8.6-p368 18 April 2009
1.9.1 30 January 2009
1.8.7-p72 11 August 2008
1.8.6-p287 11 August 2008
1.8.7 31 April 2008
1.9.0 25 December 2007

Total releases since 18 December 2007: 8

PHP

Version Released On
5.3.0 30 June 2009
5.2.10 18 June 2009
5.2.9 26 February 2009
5.2.8 8 December 2008
5.2.7 4 December 2008
4.4.9 7 August 2008
5.2.6 1 May 2008
4.4.8 3 January 2008

Total releases since 18 December 2007: 8

Parrot

Parrot releases are harder to count because of their prolific release cycle. 1.0.0 is considered the "stable" release, although the 3 monthly releases since then are quite stable for me and the project had many public monthly releases prior to 1.0.

Version Released On
1.3.0 16 June 2009
1.2.0 20 May 2009
1.1.0 21 April 2009
1.0.0 17 March 2009
0.9.1 17 February 2009
0.9.0 21 January 2009
0.8.2 17 December 2008
0.8.1 19 November 2008
0.8.0 21 October 2008
0.7.1 17 September 2008
0.7.0 19 August 2008
0.6.4 15 July 2008
0.6.3 17 June 2008
0.6.2 20 May 2008
0.6.1 15 April 2008
0.6.0 18 March 2008
0.5.3 21 February 2008
0.5.2 15 January 2008
0.5.1 18 December 2007

Total releases since 18 December 2007: 19, 4, or 1 depending on whether you count all public releases, all 1.x releases, or only the stable 1.0.0 release.

Rakudo

It's not completely fair to include Rakudo in this list, since it's still shy of a 1.0 release. However, it is worth pointing out that Rakudo has had 5 monthly development releases since outgrowing Parrot and adopting its own cycle in early 2009.

Perl 5

Version Released On
5.8.9 16 December 2008
5.10.0 18 December 2007

Total releases since 18 December 2007: 2

What Do These Numbers Say To Me?

Not much, really. They're numbers. This is not detailed analysis. This is just looking, whining, and pondering. But the overall feel I get when I look at this list is that Perl 5 is not active compared to other languages. Its maintainers have things to do besides fix or apply patches for existing bugs or new features. If I were a developer or startup CTO looking for a language to work and play with - and that's the perspective I'm taking, rather than the grizzled veterans maintaining 12 year old apps running on a custom patched Perl - I would have a hard time believing that Perl is worth my time.

Those releases are more than just a bundle of features and fixes. They are how we take the pulse of a language. They are how we measure its health. Perl 5's pulse is a little slow, a little unsteady. You might think that this is a sign of stability. I don't agree. It's a sign of stagnancy to me. It has the stink of sickness.

I'm not going to be alarmist and say that Perl is dead or dying. Programming languages rarely if ever die. But wouldn't it be great if Perl 5 was healthy and strong? Please, ignore the people that insist on stagnancy and release Perl more often!

P.S. If you didn't like my Jello Biafra paraphrasing, you should be grateful I didn't go with my other idea of "Perl 5's not dead, it's being kept in a hole in the basement and told to put the lotion on its skin." Because sharing that would have been pretty tasteless.

Python Blogger Refresh Part 2 - Settings Parrot Babysteps
comments powered by Disqus