It was bound to happen - Perl numbrenclature

Here's what happened.
A few weeks ago, the Mozilla Foundation have pulled a Microsoft by releasing what is essentially Firefox 4.0.1 as Firefox 5. This had the added benefits of getting some corporate IT guys to throw their hands in the air and shout that they cannot migrate to Firefox 4 now that it reached it's so called End of Life,

This would've been glazed over as yet another evidence that corporate IT is brain-dead, if it wasn't for the idea that the Perl community need to win over corporate IT to become the key player it once was.
Sadly, catering to one's insanity can only cause even more insanity.
And so, trying to find logic in the madness has brought forth the irrational thinking that "all we need to do is drop the 5 and 6 from Perl 5 and 6".

Now, this might be the silver bullet, it's so crazy it might work. But you don't have to actually do anything.

Take Java for example. According to the page, the current version is "Version 6 Update 26". Only it isn't. It's 1.6.0_26. A few years ago, Sun decided that the move from version 1.1 to 1.2 of Java was significant enough that it was actually "Java 2", hence the J2SE/EE/ME acronym. In this sense, Perl could easily refer to its recent iteration as "Perl 14" or refer to Perl 5.10 as "Modern Perl" and call 5.14 "Modern Perl 3" or something similar.

But you don't need to go that far. A safer, less "in-your-face" route is using a codename. It has the benefit of giving each release a different marketing brand while keeping the actual version numbering sane. The best example are Apple's MacOS X, and, to a degree, Microsoft's Windows releases.

Apple's latest Mac OS X is getting ready for its "Lion" release. "Lion" is 10.7. 10.0, "Cheetah" was released 10 years ago. Yep, 10 years and no Mac OS X 11 (OS XI?). Does anyone care? Of course not.
Microsoft are no strangers to this practice, for example, releasing Windows NT 5.1 as "Windows XP". However, the guffaw that NT 6 "Windows Vista" was, forced them to use the false numbering technique and release NT 6.1 as "Windows 7" in what was one of their greatest marketing moves.

In summation, I suggest to call Perl 5.8 "Camel" (or maybe 5.6 even), in lieu of it being the version described in the canonical book. Then call 5.10 "Perl Onion", 5.12 "Perl Butterfly", and 5.14 "Perl Raptor", and Perl 5.16... whatever you like. Then stop referring to them with their version, and just use the names.
The Perl 6 guys already do that with Perl Rakudo, and Perl 6 could be referred to as Perl Camelia.

Or we could just stop catering to the corporate IT.


that thar was a mighty fine argument :)

Sounds like a good plan to me.

Yeah, this is a great idea.

In terms of naming, the third edition of the Camel book refers to 5.6. You can still refer to 5.8 as Perl Camel, since it's pretty arbitrary where things start, or you could use Camel for 5.6 and Llama for 5.8?

However, doesn't O'Reilly have a trademark for the Perl-Camel connection?

I support this idea, starting with 5.8 as Camel.

@David, trademarks only matter if someone sues. I doubt O'reilly cares.

+1, but Camel and Llama has been associated with Perl since pre-5 days and thus are not good release code names (IMO). Perhaps carnivorous dinasours or more specifically raptors can be used as the series for code names?

Well to solve the trademark issues, perl 5.6 should be Bactrian, and perl 5.8 should be Dromedary, which fits with what is suspected evolutionary lineage of these camels.

Leave a comment

About Erez Schatz

user-pic Because sometimes you need to bash your head against the wall until either you, or the wall, give up.