My Prediction

Yesterday's post has touched off the version number debate again and not everyone is happy about that. Ricardo Signes, the current pumpking, appears to have said no, we're not going to do anything. chromatic has also dismissed the idea immediately.John Napiorkowski is also opposed to it.

Meanwhile, Joel Berger seems keen on addressing this issue, Johan Vromans also seemed to dispute the notion that a new version has no benefit. And Peter Rabbitson, in response to the claim that a new version is akin to the Emperor's New Clothes (my words, not the original author's) wrote:

The problem (as I see it) is that while we as an echo chamber don't have anything new to offer compared to 5.10 (roughly speaking), the wider world never looked past 5.6. This is an effort to fix that (and only that). Did linux 3.0 have anything new to offer? We can even "blame Linus" for the reasoning behind such a jump.

Looking at all of this, I have a small prediction to make.

Many years ago, on my first day at a new job, I tasted the coffee. I immediately spat it out. It was the worst coffee I had tasted in a long time. I found out later what happened.

Seems that everyone agreed that the company's previous coffee was awful, so the company contacted a bunch of vendors and had a taste test. The vendors came round, the employees had the day off work and everyone enjoyed sampling the many excellent coffees.

Except that there was a problem ... the resultant voting did not produce a clear winner. Management realized there was a problem and rather than risk offending anyone by picking someone else's winner, they chose a coffee that no one voted for. Hence, the employees were stuck with a coffee that satisfied no one (except management, perhaps).

The above is a true story and an analogy. I don't need to spell it out for you.

Regarding the version debacle, let me give you another analogy, one related to immigration. As many of you know, I write a modestly popular blog on a related "how to become an expat" topic. I've been studying it for years and it's a fascinating topic. In particular, the "push" and "pull" motivations are immigration are fascinating. People may feel pushed out of a country by human rights abuses, lack of jobs, war, and so on. People may feel pulled to another country by adventure, love, or family ties.

In my talking with expats, I often find that it's a combination of push and pull factors which have led them to seek a life abroad and so it it with Perl: many of us are pulled to new challenges, but I know of more than one well-regarded ex-Perl hacker who felt "pushed". I won't go into the reasons, but they're not that hard to see. Our coffee tastes bad.

So emigrating from Perl is one thing, but what about immigrating to Perl? Why would someone do that?

As I stated earlier, my motivation for reigniting the debate was simple: when I go to non-Perl conferences, such as OSCON, FOSDEM, or LinuxConf, one constant in the debate is "Perl hasn't had a major release in over a decade". In fact, if you think of Perl 5 as the last major release, that was 20 years ago! Many people who dismiss Perl weren't even potty trained when Perl 5 came out.

Meanwhile, Ruby 2 is coming out, Python 3 was released 4 years ago, PHP 5.0.0 was released in 2004 (and PHP 6.0.0 is planned, but work has not started).

In fact, just about every major language out there seems to have had new "major" releases and whether we like it or not, the perception that Perl's last major release was twenty years ago lingers and is brought up.

When John Napiorkowski wrote abut this issue, said:

When I talk to recruiters and CTOs and Directors, or to venture capitalists and related investors they have heard of Perl. Perl, period. Version 5 to 6 is not particularly relevant. Changing the version number is not going to impact how people outside our community see Perl. Here's what I hear and I speak to a lot of people:

Except he also wrote:

Recruiters: "I have a hard time filling Perl jobs". (and we can't just say, "good programmers are hard to find", we've been saying that for 10+ years. Filling Perl jobs is a special category of HARD for recruiters.)

He touches on both sides of the "immigrating to" issue: business and technical. Sure, the suits don't care about version numbers and I wouldn't expect them to. I know that many devs wouldn't know squat about version numbers of languages they don't know or care about. However, why is there a hard time finding devs? John also wrote that younger devs say "Perl, WTF? People still use that?"

Because, as mentioned, Perl looks old. We know it looks old. People keep telling us this. Further, many developers agree that the "5" in Perl is an issue, particularly when "Perl 6" is seen as the successor (and I can't quite understand why some people think renaming Perl to Perl5 will help).

So John is right that business types are reluctant to choose Perl, but part of this is mindshare: produce something that enough devs can care about and you'll get that mindshare, but not if you can't convince devs to take a look in the first place.

So I waded through the responses here, on my Facebook account, on Joel Berger's blog entry, to P5P and on various other blogs. I wanted to see what the consensus was, if any. For many people, it was damned hard to see if they supported the idea or not. For others, if they offered commentary which seemed negative, I put them down as a "no" vote (for example, RJBS and Ed Avis). I tried to be as pessimistic as possible, but if someone suggested they would support an alternate versioning scheme and they didn't say "but I think the idea is silly", then I listed them as a "yes".

So I counted 39 voices who appeared to express an opinion, with 28 of them seeming to be in favor of this idea, or about 72% of people agreeing, if not that the version number should change, at least agreeing that they were amenable to the idea.

No, the above is not scientific and even if it were, Perl is not a democracy (nor should it be), but I think it's indicative of people's feelings on this topic.

And I predict that either nothing will change (in the face of controversy, easier to do nothing than something), or that we'll get something like Perl 5.20.0 being renamed to "Perl5 v20.0". The latter, of course, means that no one will understand the difference between "Perl 5" and "Perl5", they'll still see Perl 6 as the successor and they'll assume that the language is 20 years old and going nowhere.

Perl has the Scarlet Number 5 hanging around its neck and it's not going anywhere (and yes, I meant that as ambiguously as you read it).

10 Comments

"Perl5" vs. "Perl 5" is somewhat similar to the "Perl vs. perl" problem.

I would be very positive about s/5.20/7/, so, count my vote now :-) From my side I'm ready to rename the YAPC::Europe in Kiev and add "7" in its name :-)

No doubt that will trigger a number of online discussions and news articles which is always desired, even if they say "Perl people have just thrown Perl 6 away" or "They are dying so strong that they decided to cheat", or "They'd better call it Perl 9", or "Version number jump will not help them to climb on top".

Also, I think that renaming the Perl's version to v7 will help to develop Perl 6, namely it will give it another chance to be renamed and shipped as a new language. Not that old Perl 6 from 2000, but some NewPerl (or Perl 2 :-) from the 21st century.

Finally, I think this small irregularity in versioning will only be positive for Perl, as Perl as a language tends towards human languages, with lots of their human charming eccentricity.

The only sensible solution is to rename Perl 6 (to Camelia, for instance), and use Perl 7. Unfortunately, accordingly to Larry, that will not happen (and the Perl community is not a democracy, it is a reign).

If we decide to maintain Perl 6, calling Perl 5 as Perl 7 is giving the same trouble we are facing today to Perl 6 in a few years.

We are discussing this issue for some time now. But I never read a comment from Larry about this. Because it seems that our biggest wall at the moment is Larry wishes...

This kind of discussion is exactly why many projects have BDFLs. You've given the perfect illustration with the coffee story: democratic votes are not known to yield any visionary decisions, but rather some compromise everyone can agree on, which in most cases is not good enough. The main problem in this case is the stubborness or complete lack of interest from the BDFL, i.e. Larry, so we are stuck with endeless discussions.

The important question here is: who decides that the version should be changed? Suppose we have a vocal majority from the community to call Perl 5.20.1 "Perl 2013.1". Who will actually make that name change happen? What are the preconditions for release people to accept an appropriate patch?

If you want to change the version numbering to show users the vintage of the release, but also not snub Perl 6, maybe version it like so:

  • Keep the 5. Also include the year. Like so: Perl 5.2013.
  • Any further releases in 2013 would be named 5.2013.1, 5.2013.2, etc.
  • Keep the leading "5." forevermore.
  • Next year's releases look like "Perl 5.2014.x".

I seriously considered that idea thought yesterday. I think it has merit, but I'm not convinced it will make enough impact. People are apt to continue seeing Perl "5" and not paying attention to the rest of the version.

However, if the "powers that be" decide that we are not making any major changes to the versioning, I'd rather 5.2013.1 style versioning than to see us continue with our current style.

29.

Perception is everything.

Hi,

Just to clarify, in my blog at http://jjnapiorkowski.typepad.com/modern-perl/2013/02/who-cares-what-version-number-perl-is.html I am not really saying I am for or against version number branding with Perl, I am saying I don't think version numbers are the problem, nor will they in my mind have an impact in the way we might hope. This is based on my experience where people I ask don't seem to care. Now, in your original blog, you didn't mention that you are proposing this based on experiences you had at fosdex, you only mentioned it in a comment which I didn't get to read until after I blogged :)

So really your anecdotal experience and mine are very different. I guess in my mind we need to figure out how to resolve that before making a call on whether or not rebranding Perl versioning is going to impact our community in a positive way (and not cause more confusion and trouble, an outcome I can easily see).

So like I said I could sympathize with the idea of saying Perl 5.20 should be called Perl version 20, although I personally wonder how much it would help. Given that what we call Perl5 has been around so long and is so successful in comparison to other versions of Perl, it has in wide practice come to mean "Perl'.

In terms of the Perl5/Perl6 confusion, I really think it would be best to be honest and just say that originally Perl6 was conceived as a replacement for Perl5, but over time Perl 6 so widely veered from anything that could rationally be bridged from Perl 5 that it has in effect become a great research project for people interested in language design, and does inspire our thinking for Perl 5 future development, but it in no way is considered a replacement for Perl 5. This whole thing about "Perl5/6 are different languages", is just something we cooked up post facto as a branding exercise, one which has monumentally failed as far as I am concerned, and has just caused more confusion.

Perl 5 is the only Perl viable as a mainstream choice for production applications. It is the only Perl that you can get a job using. It is the only Perl with a sufficient level of documentation and software ecosystem as to make it a rational choice for your application. As far as I am concerned Perl 5 is Perl. And if we can't figure out how to move Perl forward, then over time it will inevitably diminish as a useful choice for programmers.

Changing the version to 7 will probably cause more problems than it solves. I also doubt that just changing the version number will (by itself) really change things enough for it to be worth it.

I think it is unfair to summarize my position as "We're not going to do anything." Indeed, when you asked me privately for clarification, I wrote that while we do not have standing to change the name of the language, and while I do not think that specifically is a good plan:

I am definitely open to hearing how else we can convince people that cool stuff is happening (emphasis on both "cool" and the use of present tense) in Perl 5. My feeling is that "popular, powerful full programs being written in Perl" is the likeliest panacea, but that's a hunch.

I would love to have good ideas on which to move forward. This specific proposal, though, is not something we will be doing.

Leave a comment

About Ovid

user-pic Have Perl; Will Travel. Freelance Perl/Testing/Agile consultant. Photo by http://www.circle23.com/. Warning: that site is not safe for work. The photographer is a good friend of mine, though, and it's appropriate to credit his work.