Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Perl Programming

Perl 6, Early, With Rakudo Star 220

Perl 6 may have been "finally coming within reach" in 2004, but now it's even closer. Reader rnddim writes "The Perl 6 implementation Rakudo Star has been released today for 'early adopters.' This release of Rakudo is different from the normal monthly compiler releases in that it is bundled with a draft of a Perl 6 book, and several modules. It's not complete, and it's not as fast as it should be, but Rakudo in its current state is proving to be usable and useful. Rakudo Star releases will come monthly or as major features or bugfixes are made. It is available for download at github.com."
This discussion has been archived. No new comments can be posted.

Perl 6, Early, With Rakudo Star

Comments Filter:
  • A decade too late. (Score:2, Insightful)

    by Anonymous Coward on Thursday July 29, 2010 @05:28PM (#33076410)

    If this had come out in 2001 or 2002, shortly after Larry's original Perl 6 announcement in 2000, then it might be useful. But 2010 is far too late.

    Perl 6's ship has sailed. Perl 5, which was already very well established, has had enough difficulty fending off PHP, Python and Ruby. Perl 6 has no hope in hell. The benefits it brings are minimal, and surely not enough to drag anyone away from Perl 5, PHP, Python and Ruby, among the many other languages it's competing against.

    Perl 6 is a stillborn fetus, left lying on the ground for a decade, getting all smelly and rotten.

  • Does anyone care? (Score:3, Insightful)

    by h890231398021 ( 948231 ) on Thursday July 29, 2010 @05:37PM (#33076504)
    Seriously. What if a complete, bug-free Perl 6 implementation were released today (as opposed to the "early" version described in TFA)? Would anyone convert existing perl 5 scripts to perl 6? Would anyone write new scripts in perl 6 as opposed to Python or Ruby or Perl 5? Really, would anyone except the most diehard Perl addicts even notice or care about Perl 6?
  • Perl is COBOL (Score:3, Insightful)

    by Anonymous Coward on Thursday July 29, 2010 @05:40PM (#33076552)

    Perl is COBOL. If you can deal with it without getting sick, there's some steady jobs out there. That's it. Stick a fork in it. It's done.

  • by chromatic ( 9471 ) on Thursday July 29, 2010 @05:48PM (#33076636) Homepage

    But 2010 is far too late.

    Why? Even if some sort of statute of limitations prevents you from learning new things, the rest of the world suffers no such malady.

    (That's setting aside the fact that a Perl 6 released in 2001 would not have included amazing features such as roles, grammars, constraints, multidispatch, and autothreading hyperoperators. "Minimal benefits" indeed!)

  • by chromatic ( 9471 ) on Thursday July 29, 2010 @05:53PM (#33076696) Homepage

    I absolutely hate everything about perl anyway and have never understood why anyone would ever like it.

    It's flexible, powerful, and easy to extend. 84,296 modules are freely available from the CPAN (at least when I checked; the upload rate is staggering). It has an immense culture of quality and testing. It's amazingly portable. It scales from the freshest novice writing baby Perl to large-scale applications which must not fail, written by experienced professionals. It's malleable; you can program in a compiler-checked subset of the language or express yourself in the most clear or (if you don't care about maintainability) the most expressive, creative way possible.

    It has amazing libraries for network access and databases. It sets the standard for text processing. It's been an integral part of usable Unix installations for years. You can find it just about everywhere, and you can do just about anything with it.

  • by Waffle Iron ( 339739 ) on Thursday July 29, 2010 @05:54PM (#33076706)

    Considering that Python 3 scripts are being written, I see no reason to doubt that Perl 6 scripts will be written too.

    Well, Python 3 is pretty much just the same old Python with some nifty new features added and a couple of long-deprecated "mistakes" removed. Perl6, OTOH, is almost a completely different language from Perl5. People are going to have a bit of a learning curve if they're planning on transitioning to this new version.

  • by afabbro ( 33948 ) on Thursday July 29, 2010 @06:12PM (#33076950) Homepage

    But 2010 is far too late.

    Why? Even if some sort of statute of limitations prevents you from learning new things, the rest of the world suffers no such malady.

    (That's setting aside the fact that a Perl 6 released in 2001 would not have included amazing features such as roles, grammars, constraints, multidispatch, and autothreading hyperoperators. "Minimal benefits" indeed!)

    Minimal to perl's real audience: sysadmins.

    I would wager that 80%+ of perl coders are Unix/Linux sysadmins. That's certainly where I've seen the language most widely used. By the time something is big enough to be a real development project - or it comes from a natural "a developer writes this" angle - people are usually working in python or ruby.

    Time was when perl was a web development language. Slashdot - created in 1998 - is an example. But few people start a new web project in perl. (Yes, I'm sure you're jumping in now to paste URLs....I said few people, compared to php, python, java, ruby, etc.). Desktop GUI programming in perl? Can be done but rarely is/was. Glue code? Sure...tying together things and using DBI, etc. But mostly perl is used for system things, not application things.

    I love perl. But it has never outgrown its roots as a log-processing utility. Yes, sure, you can do all kinds of amazing things with it - talk to DBs, write GUIs, handle web CGI, OOP, etc. But few people do that. HTML::Mason (perl's answer to php)? Sure, you can find some older sites where it's rooted in their ecosystem (e.g., Amazon), but not many people are firing up new HTML::Mason projects. How many books were published for HTML::Mason? One. CakePHP has at least four and Ruby on Rails has God knows how many, which gives you an idea of mindshare, and those are very new frameworks. Heck, even symfony and CodeIgniter have books. Not that I'm endorsing them, but how many new perl books have been published? Where are the great perl-based frameworks? Perl is a systems utility language. Not many new books are published on bash or awk these days, either.

    BTW, what languages can you program in for the Google App Engine? Java and Python, not Java and perl. Who did Google hire? Guido, not Larry. Next language to be added to GAE? Probably Go or maybe php. Perl is not on the radar.

    Again, I love perl. Used it since 3.x-something. Coincidentally, Damian Conway's Object Oriented Perl is sitting two feet from my monitor as I type this. But who really does large OOP projects in perl? There's a book on php design patterns, for pity's sake, but no one has publishedone on perl. There is a wiki, but to me that speak volumes (no pun intended) about where the developer mindset is.

    You can say that's unfair, or short-sighted, or just crowd fashion. Fair enough. But people vote with their eyeballs.

    So no, I don't think most people care about perl6. Most people who use perl don't do more than open a file, run some regex, and maybe make a DB connection.

  • by acid06 ( 917409 ) on Thursday July 29, 2010 @06:14PM (#33076966)
    It seems like the current way to be hip in developer circles is to make fun of Perl.

    I really want to understand this phenomenon as I doubt most of these people bashing Perl have never even seen any Perl code written in the last 4 years. Hell, I could bet that a lot of people have never seen any *real* Perl code at all.

    Perl 5 is a modern language which has the features of other currently more trendy dynamic languages and more. We have modern [mojolicious.org] web [perldancer.org] frameworks [catalystframework.org]. We have robust database bindings [perl.org] and state-of-the-art ORM libraries [cpan.org]. We have have a well-tested modern object-system [cpan.org] with optional declarative syntax [cpan.org]. Perl is used by several high profile sites which, at this point, everyone already knows (BBC, DuckDuckGo, Slashdot, etc).

    Perl 6 is a different language but shares a lot of the common minds behind all these awesome Perl 5 tools. However, even if you don't like Perl 5 for whatever reason keep in mind that Rakudo Star is a completely different thing (as a matter of fact, the name "Perl 6" should probably be dropped in favor of Rakudo - to avoid all this cargo-cult).
  • by DragonWriter ( 970822 ) on Thursday July 29, 2010 @06:14PM (#33076968)

    Would anyone write new scripts in perl 6 as opposed to Python or Ruby or Perl 5?

    Yes. Look, I mostly prefer Ruby out of the trio of Ruby/Python/Perl, with Python a close second, but Perl obviously has an active community and there are obviously quite a lot of people interested in Perl 6.

    Yeah, in some ways its a big change from Perl 5 and there is going to be some time for people to hop on board (just as with Python 2.x to Python 3 and Ruby 1.8.x to Ruby 1.9.x) and sure, some people might prefer Python or Ruby to Perl (just as some people prefer Python or Perl to Ruby, and some people prefer Ruby or Perl to Python.)

    Why do people insist on thinking that if they don't prefer something, no one else in the world is interested in it?

  • by chromatic ( 9471 ) on Thursday July 29, 2010 @06:19PM (#33077032) Homepage

    Perl 6's "roles" are merely interfaces....


    They're significantly less powerful than Haskell's typeclasses.

    They're significantly different from Haskell's typeclasses, Haskell being a language which tends to avoid the OO paradigm.

    "Grammars" is very similar to the pattern matching you see in languages like Haskell, SML and even Scala.

    I've never used SML or Scala. Can you modify the grammar of the language in place?

    Perl 6's "constraints" are significantly less powerful and less flexible than the pattern guards of Haskell.

    Does Haskell offer parametric pattern guards?

    "Multidispatch" has been offered by Common Lisp's CLOS system for many, many years now.

    Indeed it has, and no one familiar with languages would claim otherwise.

    ... where we'd override certain operators...

    That process sounds much more manual than Perl 6 hyperoperators.

    Just about every "benefit" of Perl 6 is something that Haskell alone has offered in a usable form for years, if not decades.

    Even if that were true, so what? (Mature poets steal.) My point was that a hypothetical Perl 6 released in 2001 wouldn't have had those features.

  • by chromatic ( 9471 ) on Thursday July 29, 2010 @06:24PM (#33077092) Homepage

    You can say that's unfair, or short-sighted, or just crowd fashion.

    I'll do you one better: it's hearsay supported by anecdotal evidence. The existence of one Mason book versus a hundred PHP/MySQL books is evidence of... publishers. Larry's not working at Google is evidence of... he turned them down. Did you know that the top Perl books sold still outpace the top Ruby and Rails books sold?

    You're welcome to argue that your perceptions and feelings add up to evidence of something, but "Languages which hipsters with ironic facial hair hack in coffee shops in San Francisco" is a very small data point, even if you could measure it accurately.

  • by chromatic ( 9471 ) on Thursday July 29, 2010 @06:43PM (#33077304) Homepage

    Only Python comes close to having anything resembling Perl's level of testing. (Ruby's improved a lot thanks to Rubinius, but to my knowledge the latest stable releases don't include test suites.) PHP's testing was abysmal, last I checked.

    None of those languages have anything like the CPAN, despite saying for years "We should build something like the CPAN."

    None of those languages are as malleable as Perl 5; see MooseX::Declare [cpan.org] for example, or even Moose [perl.org].

    PHP is still easier to deploy for web programs than Perl. Python has an advantage with GAE, and I understand Ruby has something called Heroku.

    ... when it languished under Larry Wall's negligent stewardship?

    Healthy communities flourish from the healthy interactions between and cooperation of many individuals. If you thought Larry's job was to make sure that everyone is happy and doing exactly what he thinks they should do, you've never understood Larry or the Perl community.

  • by chromatic ( 9471 ) on Thursday July 29, 2010 @07:11PM (#33077594) Homepage

    Makes you figure there's a reason (La)TeX is still popular too, huh?

    I see it this way: you get deployment right, you get ease of getting your first task done right, or you get libraries right. If you don't get any of those right, you get to work on screencasts.

  • by abulafia ( 7826 ) on Thursday July 29, 2010 @07:50PM (#33077920)

    But 2010 is far too late.

    Why? Even if some sort of statute of limitations prevents you from learning new things, the rest of the world suffers no such malady.

    The main reason isn't technical. Mindshare matters. Programmers are as fashion-conscious as any group of teens, and, for various good and not-so-good reasons, are far more herd-like. Sad to say, I think if they changed the name it would have a better chance of getting a chance. As is, people are playing with a new batch of languages, young programmers will mostly only run into Perl when they brush against system administration or legacy systems, and the name typically elicits a (frequently uninformed) "Yuck!" from a lot of people.

    All of which I find sad - I love Perl. I still write most of my personal stuff in it, because it scales so insanely well from one-liners to complex apps. And it was a great, if only partial, counterpoint to the bondage-and-discipline bullshit Java got way too many people used to. But so i goes.

  • perl is community (Score:3, Insightful)

    by bill_mcgonigle ( 4333 ) * on Thursday July 29, 2010 @07:52PM (#33077954) Homepage Journal

    Would anyone convert existing perl 5 scripts to perl 6? Would anyone write new scripts in perl 6 as opposed to Python or Ruby or Perl 5? Really, would anyone except the most diehard Perl addicts even notice or care about Perl 6?

    Yeah, I can't wait. I like programming in perl and ruby but not python. It doesn't mesh with me. But perl5's object system is a pain in the ass. perl6 takes what I love about java and ruby and expresses it like perl. :my hero:

    perl is fast as hell and light on memory. Python tends to eat memory an ruby tends to be slow.

    But most important to me is the perl community. Not just the perlmonks nerds, the guys who do release planning, application design, Q/A, test metrics, run CPAN, module maintainers. They do lots of things right.

    Ruby is nearly there with GEM's, but darned if getting Rails working isn't an exacting science of matching old GEM versions. Security patch in the latest one? TFB.

    Python has some great libraries and frameworks, but CPAN is much more comprehensive.

    Which leads to the best part of perl6 - its parrot vm. The perl6 VM has implementations for python and ruby. I'm sure they're not complete or fully optimized yet, but the potential exists. Ruby stuff can run fast, python stuff can run light. And most importantly, we can all share a library - write the module in your language of choice and everybody who's using a parrot language can use it.

    perl6 is still the future of high-level open source languages. Whether you like perl or not you should like perl6 because it's what open source is all about.

  • by mystik ( 38627 ) on Thursday July 29, 2010 @08:11PM (#33078144) Homepage Journal

    Perl did languish for a while.

    Perl6 gave the language dabblers an opportunity to experiment with new ideas and concepts. Take the best of perl5, but not be afraid to be wildly incompatible, and see where it goes.

    However, while all the cool kids were doing stuff in perl6, the perl5 folks realized they could do really cool things in perl5 too, right now. Perl5 now has Moose, Plack (Stolen from Ruby's Rack), new web frameworks to match and even better those of ruby, python, and even PHP. Perl5's maintainers started to actually chase down long standing bugs, and actually kill off the things that have been giving deprecation warnings in perl5. There's even a Perl Foundation grant out for someone doing full-time perl5 bug triage + fixing. (And if you've seen Perl5's source, you'll know that's no small feat)

    My company's work in perl5 pays my bills. Perl5 is not going anywhere anytime soon, so I'm confident we can continue to move forward with it. Perl6, now that it's becoming more and more usable will inspire the imagination of developers, and continue to evolve, and the perl5 folks will continue to cherry pick the nifty features they can backport into perl5.

    It's a very exciting future for perl all around, and I'm happy to be on board.

  • by tknd ( 979052 ) on Thursday July 29, 2010 @09:38PM (#33078768)

    In the old days the people that used perl were mostly script kids and because there wasn't much else on the web for doing fancy server stuff. All the resources at the time pointed to perl this perl that, because it was the easiest path. Nobody bothered to fire up the c compiler and write their CGI programs that way. This was the mid to late 90s and at that time object oriented programming was starting to pickup steam with C++ and Java. For that time, perl was certainly a competitor but all languages still carried major faults.

    A few years back I was browsing through job listings for perl positions and not surprisingly there weren't many. I had also done some Java based stuff so I also took a look at the Java positions. But most of the positions available were PHP positions and maybe a few Python positions here and there. Ruby was available but still too new to be in use; I didn't see any Ruby positions.

    Between the interviews the surprising thing to note is the Java positions were largely big corporate based things and people would grill you on the intricacies of Java instead of talking about what the job really was about. It was very not personal, not that it needed to be, that's just the vibe I got. The perl interviews still grilled you but I noticed a huge difference in the demeanor of the interviewers. They were much humbler Maybe it was the fact that perl5 really was that big of a pain therefore made you humbler as a software dev or maybe it was the fact that they couldn't find any *good* perl developers. Anyway, I also made it a point to ask the perl shops why they chose perl. The answer is largely the same, "we were stuck with it". Somehow, someway, perl was chosen and nobody wanted to rewrite everything just so they could use ruby or python. After all, the language is a tool, not necessarily the actual solution.

    The huge difference was, the perl people of today were no longer the script kids of the 90s. They were actual software engineers. Perl was typically just one piece of the puzzle and they were using a bunch of technologies together to get to their solutions. Meanwhile the Java shops were hooked to whatever the latest framework happened to be. At the PHP job listings seemed tailored to script kids. All kinds of widely varying positions from full blown systems to cheesy scripts for some person or small website. So to me it seemed that PHP slurped up all of the script kids that perl once was popular for and Java was still trying to be fashionable (not sure why).

    Sure I understand your point and accept it; people today, right now, don't care about perl6. But not all of them are sysadmins. Some of them actually are legitimate software houses.

    Now will all of these people move to perl6? That's a tough question. I sometimes ask myself if that would be a good business decision. For the business, having readily available devs for your language of choice means more candidates available to hire. In that sense Perl6 and even Ruby aren't good choices. You will definitely be forced to use what is mainstream if you are a seasoned or senior developer. The risks in using a new cutting edge technology aren't worth it if you don't need the cutting edge features to implement your solution.

    But I don't doubt that history will repeat itself and some young software dev will make the same age old mistake and proclaim "we should use *this* because it is the newest and it is cool." That is after all how Ruby and Python got their starts. Some sort of fancy project called Ruby on Rails got a lot of publicity and suddenly everyone was interested.

    Perl6 does have a lot to offer that is cutting edge so it does have a chance. Take a look at the PDF and the Regex Grammars section where they implement JSON in a few pages. And it isn't in "one liner" style. It is in true language grammar style just like everyone learns (or should learn) in their compiler studies. That's at least worthy of something.

    I am also *very* interested in the perl6 object model as it seems to understand objects in a

The other line moves faster.