This is a read-only archive!

Perl 6

I found this Perl6 imaginary timeline hilarious. Sadly we're in 2008 and I don't think that blue line is quite as high as it was projected to be. Though it appears that development is still slowly chugging along. I still check up on Perl 6 once every six months or so. You can actually download perl6 (called rakudo?) and run it nowadays.

It's been a long time since I've used Perl for anything. If Perl 6 ever sees the light of day in a big way, I'm sure I will hunt down the Perl 6 bandwagon and chain myself to the back of it. Perl was my first religion.

I don't want to consider myself fickle, rather curious and eager to try and learn new things. But honestly, fickle may be closer to the truth. Already my Lisp enthusiasm is starting to wear off, largely from the impracticality of writing anything in Lisp (in spite of good book titles to the contrary). I've written a bunch of things in the past few months, but I never even considered Common Lisp for any of them. Mostly because I was being paid to write them, and I don't think people want to pay me to screw around with something that's going to take me 10x as long as using a language I know already.

I believe the main way I came to know and love Perl and later Ruby was through all the little 5-minute throwaway scripts I wrote to get my job(s) done. Those little scripts led to bigger scripts, which led to even bigger scripts. Emotionally it's satisfying to actually solve a problem in a language, even a small problem. Not so easy to do in Lisp; it doesn't seem to lend itself well to scripting. Lisp is nice if you've come up with the perfect abstraction for your program and want to implement it exactly like you're thinking of it. Most of the time, by the time I think up the perfect abstraction, I'd already be done if I'd written it in straightforward Ruby to begin with.

And, to rant briefly, in Ruby I wouldn't have to write my own function to fetch all the keys of a hash, or print a formatted date string, or any of the other countless little holes in Lisp that are nicely filled in Ruby by all the available libraries. I've said it before and I'll say it again: a large active community is one of the biggest necessities for a healthy programming langauge. It really doesn't seem like many people in the Lisp community give a crap about getting lots of new people to use Lisp. Or if so, I never hear much about it, compared with other communities. There's no reason a language can't be really great and powerful, and still accessible to the masses. That's one of Ruby's strengths. You don't have to read a few hundred pages of hyperspec and learn 50 years of history and spend a week and half setting up an arcane SLIME/Emacs environment to start writing Ruby.

But yeah, Perl 6. I want it to succeed, for entirely emotional reasons. I want a new toy.

April 07, 2008 @ 4:14 PM PDT
Cateogory: Programming
Tags: PCL, Lisp, Perl, Ruby, Rant

6 Comments

numerodix
Quoth numerodix on April 07, 2008 @ 7:26 PM PDT

Perl is absolutely horrid. That is all.

notlarry
Quoth notlarry on April 08, 2008 @ 2:25 AM PDT

Perl is only horrid to people who have a distaste for the mashup that is postmodern reality. Other languages may be more neat and constricting, and many people need that. Perl is liberating, which leads to code that is often messy. So with Perl, you're buying some freedom, at the expense of order. Perl is horrid in the same way that a ghetto is horrid, or the same way that a jungle teeming with life and diversity is horrid.

Of course it doesn't necessarily have to be that way; it depends on the programmer. But certainly Perl lends itself more to freedom than to anal thinking, and freedom is not free.

Brian
Quoth Brian on April 08, 2008 @ 3:31 AM PDT

"Perl is a mess and that's good because the problem space is also a mess", says Larry Wall.

Anon
Quoth Anon on April 10, 2008 @ 6:02 PM PDT

Perl 6 is the language. Parrot is the VM -- it only runs bytecode. Rakudo is an implementation of Perl 6 (which happens to be distributed along with Parrot) such that the bytecode it produces will run on Parrot. Rakudo is a "Perl 6 on Parrot" implementation.

There are many other "on Parrot" language implementations in the works, at varying stages of development, which come with Parrot.

Leslie
Quoth Leslie on April 12, 2008 @ 5:36 AM PDT

Common Lisp actually is not how you have perceived it so far. Its multi-paradigm approach lends itself well to underspecified problems (contrary to languages like Haskell). And postmodern reality and a problem space that is a mess isn't really an excuse for having a messy language; we would all be speaking gibberish if it were so.

Try to write your scripts with CLISP, it works well as a script interpreter. Post your problems and/or code in comp.lang.lisp to learn quickly.

You don't need fancy libraries for those tasks, either. There's more in your average Common Lisp implementation than you might think, and the spec delivers more than 1000 symbols, too.

Leslie

Brian
Quoth Brian on April 12, 2008 @ 5:48 AM PDT

One could argue that we already are speaking gibberish... English isn't the nicest thing in the world. But you probably have a point.

Yeah I do lurk comp.lang.lisp a bunch, it's a very nice resource (once you ignore the shoe spam).