Friday, August 12, 2005

Has Perl 6 missed the boat?

I read that Dan Sugalski has left the Parrot project (Parrot is the VM for Perl 6). Perl was my first scripting language. I started with Perl 4. Till date Programming Perl First Edition by Larry Wall and Randal Schwartz happens to be one of my all time favorite technical books (the other one is Unix Programming Environment by Brian Kernighan and Rob Pike). I immediately fell in love with Perl and I still like it enough to occasionally program in it. I think some of the charm was lost in Perl 5. Though references and other features were a good thing, I think Perl became a tougher language for the newbie. CPAN is amazing, but writing a module, particularly an object oriented one in Perl was a bit like black magic.

By the time Perl 6 project started, I had found Python and more or less switched to it for most of my programming needs. Even though I missed the crispness of perl, and had trouble accepting whitespace significance in a programming language long after I stopped programming in Fortran, I learnt to appreciate Python's clean design. However, I still followed Perl development and used to read Larry Wall's Exegesis talks on Perl 6. IMHO Perl 6 changes the language too radically and it's simply taking too long to release. I am sure Perl 6 will be released sooner or later, but it's so different from Perl that I wonder if it will be really relevant. I think many people have or would have moved to Python or Ruby tired of waiting for Perl 6.

Mind you, I am not saying that Perl is dead. Far from it. C has managed to survive mostly unchanged for over 25 years. Perl is a wonderful language and I still believe every Unix programmer should learn the language. I am sure Perl would be in any good Unix programmer's toolbox for a long time to come. My only question is whether that'll be true for Perl 6? Or would people migrate to Ruby which is closer in spirit to Perl than Python.

In case you're wondering, I did spend some time with Ruby. I think it's a nice language, but I didn't find a compelling advantage over Python to switch. Python's evolution is very well managed and I believe Python has and will continue to borrow some of the nice features from Ruby.

1 comment:

Ganesan Rajagopal said...

I was cleaning up some spam on my blog and accidentally removed a comment by lawgon mentioning that it would be interesting to compare django with rubyonrails. Sorry lawgon!