tags:

views:

535

answers:

4

I have the opportunity to take a two day class on Perl 6 with the Rakudo Compiler.

I don't want to start a religious war, but is it worth my time? Is there any reason to believe that Perl 6 will be practical in the real world within the next two years? Does anyone currently use it effectively?

Update

I took the class and learned a lot. However, after day 1, my mind was a bit overwhelmed. There are tons of cool ideas in perl 6, and it will be neat to see what filters up to other languages.

Overall the experience was a positive use of my time, though I wasn't able to absorb as much on the second day. If it were a three day class it would have been unproductive just because there is a limit to how much you can process in a short amount of time.

+6  A: 

How could learning Perl be BAD for you? Is there any cost you have to weigh against the benefit of learning (OK there is are the obvious ones of time and money, but if those aren't too bad, what else could there be to hold you back)? IMO, learning things is ALWAYS good. ;)

FrustratedWithFormsDesigner
Well, there's the cost of what else you could have done with those two days -- and with the time in addition to those two days that you would need to spend using Perl6 in order for that learning to stick. That's a fairly significant cost!
Brooks Moses
@Brooks: You do have a point but there is so much more to be gained by a training course other than "the language." These other items are also worth considering.
Frank V
Two days is a significant chunk of my time. Heck, I could learn WPF in 24 hours(http://www.amazon.com/Sams-Teach-Yourself-WPF-Hours/dp/0672329859), would that be a better use of my time?
Andres
To really *learn* it properly, I don't think 24 hours is really enough, especially if it's just reading a book. 2 days might be better with a skilled instructor, but still that only gets you started.
FrustratedWithFormsDesigner
Yeah, those "Teach Yourself X in 24 Hours" books have a great reputation. Anyone who thinks reading one of them qualifies a person in the use of a tool must never have taken the time to achieve true mastery of a subject. Otherwise they would recognize the difference between familiarity, competence and deep knowledge. 24 hours can **never** provide more than familiarity with a non-trivial subject.
daotoad
+5  A: 

If you want to use any version of Perl, then Perl 5 is the way to go. I don't think anyone is using it outside of experimentation. However, Perl 6 and its Parrot VM have a lot of potential as part of a "fourth way" platform for dynamic languages between the current choices of "run it in its own VM," "run it on the JVM" and "run it on the .NET CLR."

A lot of the cleanup work on Perl 5 is being done to make Perl 6 less of a culture shock so it shouldn't hurt you if learning Perl is a goal.

Mike Thomsen
Most of the cleanup work on Perl5 is because Perl5 programmers desperately want the new features of Perl6.
Brad Gilbert
+17  A: 

If I had a training opportunity like this, I'd take it. Even if it was COBOL.

I look at training opportunities as not only an opportunity to learn the highlight technology, but as an opportunity to learn new ideas, concepts, platforms, language (just to see how something else was implemented) and finally, to meet new people.

I think that any training is likely worth my time. Especially if the cost is going to be covered. In a training class, you'll often learn (or relearn) material that could be applied in your language of choice.

Note: It's probably worth me noting that I take a very academic look at software development and programming languages.

Frank V
In general I agree with you, however if his employer is going to pay for the course he may run the risk of being the company's new "Perl 6" expert.
Justin Ethier
I really have to agree with the philosophy you express, and I tend to take an academic look at programming as well. I'll post back in a few weeks to let everyone know if it was worth it.
Andres
As mentioned in my answer, Perl 6 packs a ton of new concepts, and old concepts that haven't been seen in modern scripting languages. Even reading about the language on the web has been a huge eye-opener.
rjh
+17  A: 

This has been answered, but I'll step in:

Rakudo Perl 6 is the de-facto implemention of Perl 6 right now. It has the most features, the biggest community and an impressive rate of development. The first "1.0" release, Rakudo Star, is planned for April 2010.

Perl 6 also runs on Parrot, which is a virtual machine already capable of running another couple dozen languages, including Python. The scope for multiple languages interacting and calling each other's modules/APIs is pretty huge.

Even if you don't plan on using Perl 6, the scope of the language is so broad, and contains so many new or borrowed-but-not-yet-mainstream paradigms, that it will have an undeniably huge effect on other scripting languages. It's worth becoming familiar with it for that reason alone.

rjh
+1 for some good insights on a question that already had an accepted answer
Andres
Rakudo Star has been pushed to July 29: http://rakudo.org/node/73
Nate Green