Monday, November 13, 2006

Waiting for Perl 6

I still remember when I first learned Perl in 1999, I appreciated its string manipulation power, but my reaction to its typelessness was not very positive. I thought it would be a trap to invite bug bearing codes. Boy would I imagine that Perl has been indispensable in my daily shell scripting tasks, and none of the bugs I had had anything to do with its typelessness. Perhaps I was wrong on that. (Of course, without typing, memory management won't be as efficient. However, that's not the main concern for shell scripting.)


When PHP was out, many, including me, thought Perl would meet its end. PHP has much better HTML integration when it comes to CGI. PHP's OO support is much satisfying than Perl's (although PHP 4's OO wasn't really good enough but PHP 5's OO is fairly useful). Perl 5 does have some kind of OO support, but it is, in my opinion, way under development. (I found two documents particularly helpful: Writing serious Perl and Perl Object Oriented Programming.) (Also see this interesting "ideological" argument against Perl support OO.) However, Perl is more powerful in dealing with large data -- in PHP, you have the default 8MB memory restriction;Perl is supported by default by most Linux distributions (it means most people agree at its usefulness). What I think the most relevant for its survival (in my work environment) is that it pushes the concept of "quick and dirty" to an extreme that some would say "quick and elegant". Seasoned Perl programmers (so called one-liners) can really accomplish tasks with minimal codes. I haven't seen any other language that finds its nitch as well as Perl. (However, see this interesting article "Ancient Languages: Perl" by an ex-Perl programmer.)


Perl 6 is very much expected --it's been quite a long wait for me (since my first Perl project in 1999; Perl 5 was very improved but not enough for me). Fortunately it won't be as long as C++'s birth after C-- according to Wikipedia, Perl 6 alpha is to be released by the end of 2006. (I read about Pugs but decided to wait for Perl 6 when they didn't project the release date. Recently I got impatient and checked more about Pugs and found this brilliant Taiwanese fellow Audrey Tang behind the project. Quite a figure she is.)

No comments:

Post a Comment