Hacker News new | ask | show | jobs
by jolmg 2448 days ago
> Larry has now agreed with the change and Perl 6 will be renamed to "raku" and Perl 5, which has regular, major releases every year, will now be able to simply be "Perl" and be free to continue on its own way.

I hope that doesn't mean that when Perl needs a major number version change again, they'll chose 6. It would be pretty confusing to have 2 Perl 6.

11 comments

Perl 5 was released in 1994. At this point, the "5" isn't really a version number anymore. It's just part of the name.

If you did a "major version bump" from here, you'd probably have to bring the "5" along for the ride. Like Java version 2, where you had J2EE version <X> for years.

In reality, there probably never will be another major version bump of Perl 5, in the marketing sense. The minor version number is really the major version number now.

Which in turn suggests the Java (and others') solution of dropping the 5 and making the minor version the new major version. Look out for Perl 31.0 soon.
Java even got rid of two numbers:

J2EE 1.4 -> Java EE 5

Both “2” and “1.”.

And as another example, Mac OS X (10), which debuted in 2000, has had every subsequent version continued to be named 10.X. Just this week, macOS 10.15 Catalina was released.

Funny that the name Mac OS X went to OS X and then (back) to macOS, but the 10.X name persists.

In communist Russia, minor version always have breaking change
I can say that at least currently, there is no appetite for Perl attempting to "reclaim" the Perl 6 version in the foreseeable future. It would be a disaster in both community relations and marketing. It will either be Perl 7 or Perl 34+.
Perl 2019
This one goes to 11

http://perl11.org/

And we'll keep that name and idea. 5 + 6 = 11, as it should have been
This has the benefit of showing that Perl gets a new version released every year.

I have previously stated that I would like it to be an alias of sorts.

    use v5.30;

    use v2019;
Basically have both of those lines do the same thing.

---

Perhaps even something like:

    use Perl v2019;
(I actually considered posting a module that would make that work.)
A similar sort of situation happened with PHP which is why there is no PHP 6 -- it jumped straight from PHP 5 to 7.
And same with ECMAScript 3 to 5.
There was an ECMAScript 4, it just wasn't adopted by browsers. (It was semi-adopted for ActionScript 3.)
I thought the relationship went the other way, that AS 3 was going to be standardised as ECMAScript 4? Not that it matters, I’m likely remembering incorrectly!
Standards are a two-way street, and we're probably both right from different points of view. (Especially, because AS 2 also had a number of the features proposed for ES 4, so even if AS 3 was "solely" inspired to be an implementation of the ES 4 standard, ES 4 itself took inspiration from AS 2.)
It's not uncommon to leap frog versions in such cases. PHP went from 5 to 7, for instance.
But that's because PHP6 was dumped after being in development for a while.
This is not entirely unlike that. Somewhere along the way, everybody realized Perl 6 was not the path forward from Perl 5, and so Perl 6 never really took the place of Perl 5, just like PHP6 never took the place of PHP 5. It looks like a pretty similar scenario, if you squint, I think.

It makes little difference for Perl that this experiment in a next generation version of the language is still alive and going its own way. The result is the same...people kept moving forward with version 5, and if it needs a new version, it can't use version 6 because 6 was already used for that other experiment (that failed to take the place of Perl 5).

They didn't "skip" php6.

The primary goal of PHP6 was to implement full unicode support and drop mbstring. However, that took much longer than expected and multiple major features ended up getting backported to 5.3, 5.4 and 5.6; to the point that PHP 7 became the new feature version while PHP6 was worked on. They eventually gave up and PHP7 was released with unicode support built fairly deep, but basic string types and the like still being byte arrays.

PHP7 was PHP6, without the native and full unicode coverage requirement.

"giving up" sounds like "skipping" to me.
Yeah there was also no ecmascript 4, it went from es3 to 5 because 4 was abandoned as too complex.
And Microsoft skipped DirectX 4.0:

"after DirectX 3 was released, Microsoft began developing versions 4 and 5 at the same time. Version 4 was to be a shorter-term release with small features, whereas version 5 would be a more substantial release. The lack of interest from game developers in the features stated for DirectX 4 resulted in it being shelved, and the corpus of documents that already distinguished the two new versions resulted in Microsoft choosing to not re-use version 4 to describe features intended for version 5."

https://en.wikipedia.org/wiki/DirectX#Version_history

For those that can remember back that far, MacOS also jumped from 5 to 7. (7 was the first version that supported running multiple applications at once.. not counting the MultiFinder hack that came before it by a few years.)
It certainly did not. System 6 (including MultiFinder if you had enough RAM to support it ;) was active for several years in the early 90s before System 7 came out. The label "MacOS", meanwhile, didn't show up until a few years after that.
Doh, yes, system 6 was current for quite a while. I wonder what other thing from that era I confused it with. I swear something around that time skipped a 6.
Solaris skipped from 2.6 to 7. UnixWare also jumped from 2.x to 7. HP/UX skippped from 3.x to 6.x. In perhaps the strangest version jump of all time, Darwin jumped from 1.4.1 to 5.1, as part of Mac OS X 10.1.1.

It seems Unix vendors really don't like low version numbers. Of course, Windows famously jumped from 3.x to 95, so it's not like they're any better.

Windows 95 was Windows 4.0. There are several parts of Windows 95 that even indicated this in a user-visible way.

Microsoft was surprisingly good at not skipping numbers, until the jump from Windows 8.1 to Windows 10, which also lead to the NT kernel jumping from 6.x to 10.

System 7 skipped from 7.1 straight to 7.5. (And the pattern was repeated with 8.1 and 8.5.)
That would be an issue, but I don't think there is an appetite for a new major version of Perl at this point.

To avoid confusion they would probably break the version convention entirely and name it with the year instead. So instead of Perl6 it would be Perl'19.

I think it's likely they will skip the 5, and continue with version 32, or whatever minor they're up to now.
Ditch the major version. As the current one is 5.30, the next one will be Perl 31, the next stable is Perl 32.
There's even a good mathematical justification for going from 5->32; just say that previously the versioning was in log_2 scale...
Maybe it’s better to find a new name for the next Perl 5 language version. It would simplify internet searches. It should be clearly distinct from Raku though.. Angular is in a similar mess to Perl, very hard to find decent information on web crawlers
Well, PHP jumped from 5 to 7 (without there truly ever being a 6) so I think Perl could do the same with no major downside.
They'll probably skip to 7.
That is probably the best solution, but at the same time it is such a hilarious thing.
I think it would be a better idea to make the minor number be the major number. So skip to 32.
Why not Perl 10 or Perl X?
no, it's called cperl now. perl5 didn't see not much improvements for the last 20 years, the development happens only in cperl, which is the perl5 successor.
bwahahahahaha
Since the language-previously-known-as-Perl6 will be known as Raku, there shouldn't be any conflict with Perl v6
Even if file names/packages don't clash, there's still a conflict when it comes to documentation, articles, blog posts, books, stack overflow questions and other documents that might or might not be updated.
That would only further confusion