[prev] [thread] [next] [lurker] [Date index for 2006/12/17]
* Michael Leuchtenburg <michael@xxxxxxxxx.xxx> [2006-12-16 19:05]: > What is this, loves-perl? Release your anger, your hate! Yes, well. In another subthread, Abigail accused me of defending Perl when all I did was ask Peter for clarification about his gripes; *this* part of the thread is what a pile-on in defence of Perl looks like. > I hate Perl. I don't, on the whole (if that wasn't clear), but I do have my long list of gripes. > I hate the fucking useless "continue" blocks. If I want to > execute something just before the conditional is evaluated, > then I'll *put it at the end of the loop*. Except if you need it to always be executed, even if you abort an iteration with `continue`. Then "d'uh put it at the end of the block" won't work and you have to use a `continue` block. Basically, `continue` is there to enable you to do in Perl what you can't do in C: write an exact equivalent of a `for(;;)` loop using `while`. I've never seen `continue` in any Perl code outside of the examples in the Perl documentation. > I hate that I have to use a hack if I want proper multiple > inheritance and object composition. Yeah, doing sane OO in Perl is a big mess that keeps almost driving me to Ruby. The mere fact that there are dozens of modules on CPAN to abstract away various pieces of OO plumbing is plain evidence of the brokenness. I always find it funny when fellow Perl programmers deny this. I agree with them that you *can* do proper OO in Perl -- but it comes down to patterns; in short, the language is inadequate. And sure, Perl's barely extant OO system *does* allow some things that you just can't do in other languages; but the price for that is waaaaaay too high. I'd rather it be easier to get work done. > I hate that, on Windows, Perl requires a backup extension to > -i, but on *nix it does not. Perl on Windows is broken in too many ways to talk about. > I hate that CPAN - a requirement for any serious Perl > development - always wants to upgrade my Perl to the latest > version when I just want to install a fucking module. That is only a certain broken version of CPAN.pm, released a few years ago; a fixed version was released soon after. Upgrade your CPAN.pm and it will stop pestering you. > I hate use English makes my programs run slower. No longer, if you ask it not to; although I wish they hadn't fixed that because the mere concept of English.pm is an abomination. > I hate that Perl's memory manager can't handle circular > references. Yeah, but the flipside is that it can do timely destruction and you can control when it happens. Real garbage collectors in the wild today are pretty capricious in both respects. Witness the JVM GC hate. So I'm not sure whether I prefer Lucifer or Beelzebub. (Refcounting does have it share of hate at the VM implementation level, of course... But that's not something you'd be affected by as a language user.) (To go on a tangent here: I really hate the popular misconception that a GC absolves you from worrying about memory. It makes code more robust by converting minor mistakes from segfaults to small mem leaks, is what it does, and that's all it does. It does *NOT* mean you can forget about managing your memory.) > I hate the total lack of a real type system. Of all the things you mention, this is the only one I can neither agree with nor relate to in any way. I tend to hate hate HATE the *presence* of a type system (tho I hear good things about type inferencing; no experience with that). The type systems I've worked with only ever caught the least interesting sorts of problem but forced huge amounts of monkey code. > I could go on, getting in to the sorts of hate that Perl > enables - s;foo;bar; anyone? That's annoying, but do you find the following pretty? s/^file:\/\/\/?// I guess the set of delimiters could have excluded things like semicolons, though; granted. -- *AUTOLOAD=*_;sub _{s/(.*)::(.*)/print$2,(",$\/"," ")[defined wantarray]/e;$1} &Just->another->Perl->hacker; #AristotleThere's stuff above here
Generated at 22:02 on 27 Dec 2006 by mariachi 0.52