News for hackers. Stuff that matters.
Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @06:35AM (#6204938)
I love Perl as well, but it's definitely gotten the reputation as the really awkward nerd among nerds. I agree with lots of people that the early stages of the Perl 6 effort caused so much distraction for so long that Perl 5 languished and lost lots of momentum for the language (and language philosophy).

The Perl community, tired of waiting for a workable Perl 6 implementation, has lavished some fine attention to Perl 5 and it's in incredible shape, but the target community, also tired of waiting for Perl 6, has largely moved on.

It's going to be tough to bring people back into the fold. Everybody wanted Perl 6, and it barely works now. The features in 6 are amazing (might even be enough to get folks to come back), but the implementations are all over the place. Perl 6 needs a couple of killer apps. The CFG work might have made handling XML stupid simple, but XML is quickly falling out of relevancy.

The transition from Perl 5 to Perl 6 might go down as one of the great language mismanagements in history. For goodness sake, it's been in design for almost 14 years! And there are really just now workable implementations coming out, but all are still incomplete, lack features, robustness and speed.

I'm also guilty of this, having been excited about Perl 6 a decade ago, but taking a wait and see approach that lasts to this day, until development settles down. I don't want to commit lots of work that will be made obsolete the next time Larry decides to change an operator's semantics.

Is it finally time to sit down and learn Perl 6?

Re:Perl 5.18.1. Yes, it's alive by colomon on Tuesday August 13, 2013 @08:46AM (#6205324)
As one of the Perl 6 developers, my suggestion would be to wait a couple of months. There have been some very exciting developments with the new JVM backend for Rakudo Perl 6, like new work on threads and very significant speedups on longer processes. But it's not quite yet ready for prime time -- there are definitely still some rough edges. The rate of progress on it has been phenomenal -- it essentially didn't exist at the end of March, and passes 99% of the Rakudo spec tests today. I will be very surprised if the current issues with it still exist in October.

That said, there really haven't been too many major changes to the language itself (as opposed to the implementation) in the last couple of years. I have several modules I wrote 3+ years ago, and keeping them up to date with the language has only required trivial changes in that time. You could certainly start learning the language today using the Parrot implementation with the knowledge that something better will be along very shortly.

Re:Perl 5.18.1. Yes, it's alive by chromatic on Tuesday August 13, 2013 @01:15PM (#6206931)
By "99% of the Rakudo spec tests today", do you mean "99% as many spec tests as Rakudo on Parrot passes today", or has Rakudo managed to implement 99% of the specification on both the JVM and Parrot now?
Re:Perl 5.18.1. Yes, it's alive by colomon on Tuesday August 13, 2013 @02:44PM (#6207468)
The former. The tests which have never worked on any Perl 6 implementation have not magically started working recently.

For what it's worth, I'm pretty sure Rakudo JVM passes more tests today than any p6 implementation did at the start of the year. It's just not quite as capable or user-friendly as Rakudo Parrot yet.

Re:Perl 5.18.1. Yes, it's alive by SimHacker on Tuesday August 13, 2013 @08:55AM (#6205375)
What is the point wasting any time on Perl 6, given it's undeniably unambiguously spectacularly awful track record, and the fact that there are so many other wonderful and better languages available to spend your time learning. There's nothing in Perl 6 that makes it any more powerful (and definitely not any more easy to learn and use and maintain) than any other language. There are no jobs programming Perl 6, and there never will be.
Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @10:42AM (#6206002)
Grammars and proper unicode support are where my main interests lie with the language.

I use Perl to "get shit done" (GSD) it's not sexy, it's not my main job, hell, it's barely reusable. But using Perl has been the difference between failure/late delivery and success/early delivery/under-budget more times than I can even remember.

As late as the end of last year I has hacking Perl 5 code as a side project to GSD and took a project that went from not-existing because the scope was unfeasible for the next 3 calendar years to existing and producing measurable results 3 weeks later. That work got me a promotion and then a new better job making more money (and not doing Perl work) and overall joy and happiness because I was the guy that GSD (and Perl made that happen).

Re:Perl 5.18.1. Yes, it's alive by SimHacker on Tuesday August 13, 2013 @09:33PM (#6209490)
If Perl is so great at getting shit done, then maybe they should have written Perl 6 in Perl 5, then they might have gotten shit done in less than a decade.
Re:Perl 5.18.1. Yes, it's alive by chromatic on Tuesday August 13, 2013 @10:42PM (#6209676)
Perl 5 isn't magic fairy dust you can sprinkle over a project with no deadlines, no pressure to produce anything, and no idea what it's eventually going to be. It's a language for people who want to get something done and who know what that something is.

You are probably thinking of Ruby. Wait, Haskell. Hold up, Erlang. Sorry, Node.js.

Re:Perl 5.18.1. Yes, it's alive by lelf on Tuesday August 13, 2013 @09:59AM (#6205694)
There's nothing in Perl 6 that makes it any more powerful

You're just trolling and clearly haven't got a clue.

Object system with MOP, subtyping, pattern-matching, new human readable “regexpes“, grammars etc.

And for the first time in humankind it chars in string are counted by not bytes, not 2-bytes, not codepoints, not another shit, but Unicode graphemes! 2013!

Re:Perl 5.18.1. Yes, it's alive by kamaal on Wednesday August 14, 2013 @12:35AM (#6209948)
>>What is the point wasting any time on Perl 6

What is the point in spending time on any thing new?

>>given it's undeniably unambiguously spectacularly awful track record,

How many inventions throughout history fall into these category? Airplanes, Rockets?

>>and the fact that there are so many other wonderful and better languages available to spend your time learning.

So this will be one of them.

>>There's nothing in Perl 6 that makes it any more powerful (and definitely not any more easy to learn and use and maintain) than any other language.

Seriously?

Have you even read the specification? If Perl 6 sees the light of the day in say an year, it will be the equivalent of what current day 10 languages together would achieve in 10 years from now.

>>There are no jobs programming Perl 6, and there never will be.

Which is true for any new language ever.

Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @10:43AM (#6206010)
I appreciate the honest answer. One of the powers of Perl is that you can sit down at almost any system and type "perl -v" at the command line and get something. How has the penetration been for this to return a v6?
Re:Perl 5.18.1. Yes, it's alive by colomon on Tuesday August 13, 2013 @02:47PM (#6207492)
There's been no such penetration at all. Because current Perl 6 implementations cannot run Perl 5 code, everyone sticks to some version of Perl 5 for "perl" and uses "perl6" when that is wanted. (That said, there are at least two current projects working on getting Perl 5 support up and running in Perl 6.)
Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @02:53PM (#6207526)
sorry I meant "perl6 -v"
Re:Perl 5.18.1. Yes, it's alive by cygx on Tuesday August 13, 2013 @08:47AM (#6205330)
The transition from Perl 5 to Perl 6 might go down as one of the great language mismanagements in history. For goodness sake, it's been in design for almost 14 years!

It's not quite as dramatic as it sounds:

Yes, Perl6 was announced in 2000, but the actual implementation effort (both Parrot and Pugs) started in 2005.

Guess what got started a year later (2006) and isn't finished yet as well? Rust.

Is it finally time to sit down and learn Perl 6?

Learn it? Certainly. Use it in production? Not yet. The Parrot backend was used to nail down the object system. Supposedly, the mostly-working JVM backend will be used to nail down threading semantics.

Concurrently, they are developing their own VM to get rid of the semantic mismatch between the language runtime and backend VM.

Re:Perl 5.18.1. Yes, it's alive by chromatic on Tuesday August 13, 2013 @01:26PM (#6206987)
Yes, Perl6 was announced in 2000, but the actual implementation effort (both Parrot and Pugs) started in 2005.

Parrot started in 2001, and there was at least one P6 implementation in the works shortly after:

https://github.com/parrot/parrot/commit/9bb281bf85088000ee40...

The Parrot backend was used to nail down the object system.

That's not how I remember things. Jonathan may have implemented the current object system on Parrot, but then he prototyped one on the CLR and one on the JVM (or vice versa), then wrote one for Rakudo based on that.

Concurrently, they are developing their own VM to get rid of the semantic mismatch between the language runtime and backend VM.

That's a very charitable interpretation of what they're doing.

Re:Perl 5.18.1. Yes, it's alive by sampo on Tuesday August 13, 2013 @09:38AM (#6205591)
"Yes, Perl6 was announced in 2000, but the actual implementation effort (both Parrot and Pugs) started in 2005."

But if we believe in the Osborne effect, then already from 2000 the announcement of Perl 6 started to eat momentum from Perl 5.

http://en.wikipedia.org/wiki/Osborne_effect

Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @10:46AM (#6206029)
Exactly. The early announcements, the O'Reilly book etc. all combined to make me want to stop Perl 5 work and wait a bit for Perl 6 to come out.

I was fully expecting to sit down at a machine and type "perl6" instead of "perl" to invoke early versions of the language. I was even willing to deal with semantics changes in the language for a while till that settled down.

But 5 years is a long time to wait before implementation even started and 13 years is even worse and still not really be able to sit down at a terminal and "perl6 -v".

Re:Perl 5.18.1. Yes, it's alive by lelf on Tuesday August 13, 2013 @01:47PM (#6207096)
> and still not really be able to sit down at a terminal and "perl6 -v".

Wait, that's not entirely true

  Betty:~ lelf$ perl6 -v
  This is perl6 version 2013.06-200-gee08521 built on parrot 5.5.0 revision RELEASE_5_5_0
Re:Perl 5.18.1. Yes, it's alive by bane on Tuesday August 13, 2013 @03:06PM (#6207595)
well...okay. Now that gets my juices flowing.
Re:Perl 5.18.1. Yes, it's alive by muriithi on Tuesday August 13, 2013 @10:09AM (#6205764)
How would the Perl 5 => Perl 6 transition compare to the Python 2 => Python 3 transition?
Re:Perl 5.18.1. Yes, it's alive by latk on Tuesday August 13, 2013 @10:26AM (#6205888)
Python is a very strict and comparatively easily parsed language. Python 3 is the clear successor to Python 2, and feels mostly the same for a programmer.

The idea for Perl 6 was the same: Clean up the language, add new features at the expense of compatibility, and create a v5 → v6 transition tool. During the evolution of Perl 6, this original goal became less important. Nowadays, Perl 5 and Perl 6 are seen as two sister languages in the same family, which take inspiration from each other, but are independent. There won't be mass migrations to v6 once it “arrives” (it already did in the form of Rakudo Star). There are, however, efforts to run v5 and v6 code in the same VM.

Re:Perl 5.18.1. Yes, it's alive by muriithi on Tuesday August 13, 2013 @06:24PM (#6208673)
Thanks.