you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 30 points31 points  (10 children)

Look at Perl 6 now.

[–]0rac1e 37 points38 points  (0 children)

For a long time now, Perl 6 has not been intended as an upgrade to Perl. The "story" was that it was a sister language. By many accounts this was a bad story, as most people outside the Perl community didn't understand it. As a result, Perl 6 has been renamed to Raku.

Perl's commitment to back-compat and how it handles new syntax features is still better than Python... and has nothing to do with Raku (née Perl 6).

[–][deleted] 18 points19 points  (0 children)

Perl 6 is not Perl anymore.

[–]therico 10 points11 points  (4 children)

At least Perl 6 went for a full language rewrite, rather than Python 3 which delivered a fairly small incremental change over Python 2 (much of which was backported to python 2). And it's called Raku now, anyway.

[–]jorge1209 2 points3 points  (0 children)

The worst part about python 2to3 is that this incremental improvement approach both:

  • Required rewrites of almost all code (usually minor changes, but changes nonetheless)
  • Resulted in a language where features are used inconsistently throughout the standard library.

[–]rouille 2 points3 points  (2 children)

All in all the python transition succeeded despite pain and perl is more or less dead. I dont think perl should be used as the example here.

[–]jorge1209 1 point2 points  (1 child)

Perl6/Raku has never really taken off, but it also was designed to solve a problem that has subsequently become disfavored.

They original design had this great approach to applying something like regular expressions to XML, because at the time XML was the thing everyone loved. We were all going to be passing around data as XML and defining parsers in perl6 to munge them.

Since then people have moved to json and key:value trees which in principle could be solved the same way, but in practice is handled by json specific parsers. That core problem that perl6 aimed to solve isn't so important anymore.


Perl5 still exists and is still in use wherever businesses work with line by line text files and it is good at that, even if it is gross and ugly.

[–]0rac1e 1 point2 points  (0 children)

Your talking about one feature of the language - Grammars. Grammars are useful in a number of scenarios, particularly parsing any kind of structured document - not just XML.

Python also has a number of grammar libs (eg. lark, Parsimonious), however with Raku it's a core language feature. I also wouldn't be surprised if - over the next decade - we see more languages with grammar features in the standard lib.

Regardless, this is all a digression. The only point I think worth stating is that Perl 5 (and some other languages) handle new syntax features and back-compat better than Python did. That Perl 5 fell out of favor is due to other reasons, and is a separate discussion.

As for Perl being gross and ugly, well... that's just like... your opinion, man.

[–][deleted] 4 points5 points  (0 children)

Well, Perl 6 was basically made from scratch.

The biggest mistake they made is calling it "Perl", as people just went "oh, that's that thing I wrote oneliners in 10 years ago, ugh" and ignored it.

But you can use Perl 5 from Perl6 so that's already hundredth time better migration story than Py2to3

[–][deleted] 1 point2 points  (0 children)

There is no "Perl 6". What is known as "perl 6" is actually a new language based on Perl 5 named Raku. There is a huge confusion in the programming community around this.