28

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.

jjmerelo
  • 22,578
  • 8
  • 40
  • 86
Andres
  • 5,012
  • 3
  • 24
  • 36
  • 9
    Perl(any version) is less popular now than ever, what makes you think it will be more popular in 2 years. –  Mar 04 '10 at 20:23
  • +1 timely question, but you might clarify "practical in the real world within the next two years": it exists, can be used for many of the tasks that perl5 is useful for, has lots of nice improvements (rules being my favourite), and does look on track for release in tha time. So what's your threshold? – Charles Stewart Mar 04 '10 at 20:24
  • I guess I'd ask you why you asked the question in the first place. It seems like you're not convinced it's worth learning. What didn't sit well with the course? – John Mar 04 '10 at 20:25
  • 13
    @fuzzy: So nothing's worth learning if it doesn't become more popular in two years? – David Thornley Mar 04 '10 at 20:27
  • 1
    read for comprehension, it will be even more less popular in two years –  Mar 04 '10 at 20:30
  • 14
    I'm learning Perl 6 so that I can write a Duke Nukem Forever mod! – Martin Mar 04 '10 at 20:55
  • 4
    The obligatory O'Reilly joke: http://otierney.net/images/perl6.gif – FrustratedWithFormsDesigner Mar 04 '10 at 21:40
  • @John Two days is a lot of time I could be spending doing other things. Really, I want to, I just have difficulty justifying it. – Andres Mar 04 '10 at 21:46
  • 6
    @Andres: If you can't justify it (beyond the reason of learning for the sake of learning - and personal growth - I assume there has to be a *business* justification), then don't do it. OR... do it on your own or do it later when you can better justify it. It sounds like you really want it but you need a compelling business-related argument, which just might not exist at this time. – FrustratedWithFormsDesigner Mar 04 '10 at 21:49
  • 30
    fuzzy lollipop's use of the phrase "less popular now than ever" can be applied to any programming language. As Clojure and Scala become popular, "Java is less popular now than ever". As F# becomes popular, "C# is less popular now than ever". As Ruby becomes popular, "PHP is less popular now than ever". Not to compare Perl to Java, C#, or PHP, of course... but do you see where I'm going? This statement is totally irrelevant -- Perl has thousands of active module authors, and many more active users! And, Perl 6 is *more* popular now than ever. – jrockway Mar 05 '10 at 01:42
  • 1
    possible duplicate of [I know Perl 5. What are the advantages of learning Perl 6, rather than moving to Python?](http://stackoverflow.com/questions/124604/i-know-perl-5-what-are-the-advantages-of-learning-perl-6-rather-than-moving-to), also [should-i-learn-play-with-perl-6](http://stackoverflow.com/questions/124652/should-i-learn-play-with-perl-6?lq=1) – nawfal Jul 22 '14 at 10:49
  • Those questions were two years old when I asked this. A lot had already changed since then. Four years later(Today), I'm sure even more has changed. While these questions may be temporally localized, they are still valuable in context. – Andres Jul 23 '14 at 22:18

5 Answers5

34

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
  • 25,141
  • 34
  • 106
  • 144
  • 2
    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 Mar 04 '10 at 21:13
  • 3
    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 Mar 04 '10 at 21:39
  • 6
    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 Mar 05 '10 at 01:36
30

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
  • 49,276
  • 4
  • 56
  • 63
  • This is out of date now of course; Rakudo is now looking at running on other VMs such as the .NET CLR. – rjh Mar 01 '13 at 15:59
  • Even more out of date, as Perl 6 has been renamed to 'Raku' and is equivalent to Rakudo Perl 6 for all intents and purposes! – rjh Dec 04 '19 at 00:01
7

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
  • 26,726
  • 31
  • 139
  • 202
  • 3
    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 Mar 04 '10 at 20:39
  • 3
    @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 Mar 04 '10 at 20:50
  • 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 Mar 04 '10 at 21:42
  • 2
    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 Mar 04 '10 at 21:47
  • 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 Mar 07 '10 at 03:53
6

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
  • 36,828
  • 10
  • 60
  • 83
3

If for nothing else, personally I think Perl 6 is worth learning just for its added capability to specify grammars and rules for parsing tasks. That is a great, useful feature that no other major general-purpose languages have today.

langtechie
  • 131
  • 1