Perl 6 isn't exactly vaporware

| 9 Comments

Infoworld blogger Neil McAllister referred to Perl 6 as having "graduated to vaporware", and chromatic dissented. McAllester prints a lot of chromatic's letter and adds his own commentary, and it's a good read.

I'm glad chromatic wrote it, and McAllister ran the article, but the fact still stands that Perl 6 is vapor enough for most organizations wanting to do anything useful. The fact is that most organizations and users are going to wait for Rakudo Perl 1.0, or maybe Rakudo Perl 1.0 beta 1, before they start sniffing at it.

I wonder how we can merge these two concerns. How can we let people know about the Perl 6 that is usable here and now, such as the November wiki package written in Perl 6, and the features that people can use today and rely on not changing, while still acknowledging that Perl 6 isn't at the state that people will want to count on?

Does there need to be Rakudo Perl Early Adopter Edition, for example? I understand that any given Rakudo build could be Early Adopter Edition, but I'm talking about releasing and publicizing something that is specifically called that.

(Also, please don't bother explaining WHY Perl 6 is at the state it's in. I know why, and the people who are waiting for 1.0 don't care why. That's not the point of my question.)

9 Comments

Rakudo (and Parrot) could benefit from people writing sample programs and trying them, then asking "Why doesn't this work the way I expect?" Bigger benefits come from reviewing test cases from the Pugs repository and helping Moritz and the other spec test pumpkings add those tests to Rakudo's test list.

That'll help the Rakudo hackers prioritize their work to Writing Real Programs in Perl 6.

We're probably a couple of months away from having everything in place to offer Rakudo for Early Adopters, Not Just Rakudo Hackers, but it'd make a very nice Christmas present. (Remember, we gave you 'make perl6' last year.)

How can we let people know about the Perl 6 that is usable here and now, such as the November wiki package written in Perl 6, and the features that people can use today and rely on not changing, while still acknowledging that Perl 6 isn't at the state that people will want to count on?

Have you actually looked at the November source code? It's full of ugly workarounds and quirky hacks to work around Rakudo bugs (like this very nasty one), and while it's certainly a nice proof-of-concept I wouldn't use it to advertise the language.

Does there need to be Rakudo Perl Early Adopter Edition, for example?

I like the idea, but I think it's too early. Remeber that Rakudo still isn't anywhere near Pugs' feature set (with the notable exception of regexes and grammars), and still in its early stages (although Patrick might disagree here ;-) ).

In my opinion (backed by my work on the test suite and my occasional hacking on November as well as conversations with the other November hackers) at least the following needs to be done first:

  1. Fixing the issues with lexikals (see the bug report above). Patrick is currently working on that.
  2. Fixing the value/container model (for example you can't assign a list to a scalar that previously held a hash)
  3. List assignment. my ($x, $y) = 1, 2; doesn't work right now, which is very annoying. Also there's no way currently to turn an array ref into an array
  4. Object attributes can't have a default value right now. That should be implemented.

I fear that premature advertising will hurt Perl 6 more than it helps, because it encourages the "Perl 6 is FUD" idea.

Perl 5 is a great tool for bioinformatics programming and I sure hope that fantastic projects such as bioperl with still work in Rakudo. Though not an elite programmer by any means, I am eagerly waiting for something like a "Rakudo Perl Early Adopter Edition" accompanied with some wikis and documentation on how to get started, pretty much just for the fun of it, but also to test the performance of the Parrot way of doing things.

I had an idea a while back to take one of the little perl programs in "The Computer Language
Benchmarks Game" over at http://shootout.alioth.debian.org/ and port them to Rakudo/Perl 6 to try to grasp the specific task or idea of the program, learn some new syntax and compare the performance with Perl 5. I think all those programs are fairly small and do not rely much on IO or regexes but simply clever algorithms that should be possible to implement already.

I have however had too little spare time to look at all this, so I am throwing this idea out there: Would anyone be interested in a team effort to port a few of those programs? How about setting up something like a Google Group to discuss things like the "new" ways of doing things in Rakudo, centered around those examples? I am pretty sure at least sloths like me could learn a lot from taking part of such a little project.

Reduce the scope of the Perl 6 spec, and projects can completely implement it sooner. There's always 6.1 for the remaining features.

One of the tenets of our culture (or maybe even it is somewhere in every culture) - is "don't give up". The Perl6 team proved that they live up to this ideal - the project shows sustained and steady progress despite taking much more than anyone thought at the beginning. It is more complex and difficult than anyone could expected - but this did not scare the core team. I am sure this will be an Open Source legend.

Andreas, feel free to send your idea to the perl6-user mailing list.

Not having enough time is one of the major problem of most Perl 6 hackers, so don't expect too much, but perhaps you're lucky this time.

I've been hacking a bit on Perl6 bits for the next-generation BioPerl (as well as some things on Rakudo). I think Perl 6 will prove a big hit with the bioinformatics folks, particularly with those of us working with huge piles of data where lazy lists, iterators, grammars, etc. help tremendously (genomics and microarray analysis, for instance). It can't get here soon enough!

... while still acknowledging that Perl 6 isn't at the state that people will want to count on?

This is the part of your article that most people I know that would benefit from Perl 6 will focus on, and they will not let go of it until there is a file called perl6-rc1.tgz/exe.

Yes, I understand that that's what people want. That's exactly what I said in the article.

Leave a comment

Job hunting for programmers


Land the Tech Job You Love, Andy Lester's guide to job hunting for programmers and other technical professionals, is available in PDF, ePub and .mobi formats, all DRM-free, as well as good old-fashioned paper.