In Which Brian Whinges About The Perl 5 Release Schedule

Post added by

1100 words (about 5 minutes to read)

Coolnamehere / #perl

Published — Updated

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 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. That 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

VersionReleased On
1.9.1-p12912 May 2009
1.8.7-p16018 April 2009
1.8.6-p36818 April 2009
1.9.130 January 2009
1.8.7-p7211 August 2008
1.8.6-p28711 August 2008
1.8.731 April 2008
1.9.025 December 2007
Total releases since 18 December 2007
8

PHP

VersionReleased On
5.3.030 June 2009
5.2.1018 June 2009
5.2.926 February 2009
5.2.88 December 2008
5.2.74 December 2008
4.4.97 August 2008
5.2.61 May 2008
4.4.83 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.

VersionReleased On
1.3.016 June 2009
1.2.020 May 2009
1.1.021 April 2009
1.0.017 March 2009
0.9.117 February 2009
0.9.021 January 2009
0.8.217 December 2008
0.8.119 November 2008
0.8.021 October 2008
0.7.117 September 2008
0.7.019 August 2008
0.6.415 July 2008
0.6.317 June 2008
0.6.220 May 2008
0.6.115 April 2008
0.6.018 March 2008
0.5.321 February 2008
0.5.215 January 2008
0.5.118 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

VersionReleased On
5.8.916 December 2008
5.10.018 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!