I know the people who read this blog generally do not care about Perl at all (hi Mom!) but I spend a great deal of time writing code in the language and talking with other members of the Perl community about our common projects, and so like anyone who has lived in the Perl world for any length of time, I have an opinion about Perl6. For those not in the know, Perl5 is the current version of Perl and has been around for over 10 years. Perl6 is the next major version evolution, but it has been in development for nearly the same length of time. The problem is that 10 years is a long time for a computer language release to gestate and many folks whose opinions count (i.e. managers) see that lack of a release as a sign that Perl Is Dead and not a good choice for their next programming project. So (the argument goes) Perl6’s vaporware status makes it hard for Perl5 programmers to find jobs, because the “if it ain’t new it ain’t sexy” ethos of technology counts for more than it should with those making the money decisions.
The real problem isn’t that Perl6 hasn’t been released. The real problem is the name Perl6. Perl6 is not a single executable “thing” like Perl5 is; it’s an umbrella for several different projects. Right now I can sit down at just about any modern Unix-like computer and type ‘perl’ and write some code that runs. Perl6 doesn’t work quite that way. It’s a whole new language, not just a major revision to an existing language. So the version number 5 vs 6 is misleading. That’s the problem. Perl is alive and well. Perl5 continues to be maintained and developed. I get lots of work done every day using it.
Matt Trout writes a nice piece about this topic, aimed at the Perl community. I applaud it.