Re: Perl

[prev] [thread] [next] [lurker] [Date index for 2003/09/16]

From: Yoz Grahame
Subject: Re: Perl
Date: 17:01 on 16 Sep 2003
On Tue, Sep 16, 2003 at 10:33:34AM -0500, Peter da Silva wrote:
> I understand why it's done that way, it's useful. Every single
> special case in Perl is there because it was a useful exception.
> The problem is that any time[1] someone came up with a nifty idea
> for a useful exception, it ended up part of the language. The result
> is that it's as hard to learn all the exceptions in Perl as it is
> to learn all the exceptions in English.

I completely identify with this, despite being a big Perl fan, and it's 
probably my biggest Perl-related Hate.

You know those stories about boats sailing quite happily up to some
island and the islanders then pointing out just how astonishingly lucky 
the boat was not to hit any of the bazillion rocks just below the 
surface which the boat's pilot ignored? (No, neither do I, but I'm sure 
there have been some) Well, I happily bought O'Reilly's Perl Cookbook 
and as I read it I just got scared shitless by all the gotchas. So many 
situations where if you do something a slightly different way that 
*looks* near-identical it actually does a completely different thing.

One of Perl's nicest qualities is the flamboyance and fluidity of the
code - something that counts for very little in a software engineering
sense but accounts for the devotion that Perl gets, because it sometimes
feels more like composing than programming. There's an emotional 
response and a resulting emotional attachment. The problem is that due 
to Perl's radical inconsistency and those rocks that I now know are just 
under the surface (though I can't remember where they are, because there 
are loads and I have a terrible memory for inconsistencies and I've lost 
my copy of the Cookbook anyway), the fear of those rocks prevents me 
from being as fluid with my code. And this is a Good Thing in software 
engineering terms, but counts against Perl, in the same way that the 
flexibility and easy-going-attitude of Perl's compiler, while often 
welcome, is also sometimes a pain in the arse when you want to be *SURE* 
that your code is Doing The Right Thing. In those cases, compiler errors 
are your friend.

Perl 6 is fixing lots of this, it's true. One of the biggest giveaways 
that damns Larry's earlier choices is the removal of context-sensitive 
variable operators or whatever they're called - if you want the one 
major reason why people choose that horrific abortion PHP over Perl, 
it's that. (Oh, and it being easy to install and available everywhere 
and always identical)

-- Yoz

There's stuff above here

Generated at 14:02 on 01 Jul 2004 by mariachi 0.52