[prev] [thread] [next] [lurker] [Date index for 2003/09/16]
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) -- YozThere's stuff above here
Generated at 14:02 on 01 Jul 2004 by mariachi 0.52