|Problems? Is your data what you think it is?|
Re^4: A few Perl OOP questions. (disparaging)by tye (Sage)
|on Oct 23, 2003 at 07:31 UTC||Need Help??|
Yes, I understand all of that. I don't see you say a single thing about my points. *shrug*
I know quite well why some people don't like it. I can see their points on some levels but mostly don't see those arguments as a big deal in many cases. I can also see the (contrary) point of making life easy for the module user. Most of the time, when given a concrete example of $obj->new() being supported by a real module, I have no confusion about what is going on. In theory, it can be confusing. In practice, it often just makes good sense.
Your node really does have the ring of FUD to me. "class methods and instance methods should be distinct and disjoint" Why? Because someone says so? Perl certainly doesn't think so -- not in the least. I don't even see you doing it. I'm sure its a nice principle with plenty of validity behind it. I even, at times, follow it more in my own OO code than I've seen done in most any other Perl OO code I've read.
BTW, you forgot to not name your constructor "new". Also a valid (and similar) point, especially in theory, that often doesn't cause the slightest problem in so many cases of practice.
But I'm not here to argue those things (but I threw in a bit mostly cause it was fun). Some feel that way, and I can understand their points and agree with most of them to some degree. But I just haven't seen any of the complainers bothering to notice the consequences of their banishment of this idiom.
"Cargo Cult FUD" just had such a nice ring to it. Turnabout is fair play, don't ya know? (: (I love the "think for yourself" or "you didn't think for yourself, because what you wrote is 'cargo cult'" meta argument -- always makes me wonder what is so weak about their argument that they have to resort to it. I couldn't resist, especially the redundancy of adding "Cargo Cult" to "FUD"; it just rolls off the tongue.)
So, yet again, the FUD mongers refuse to provide a reasonable replacement for the acursed $proto idiom.
I find it quite rude to be told "don't do this" without any "do this instead" or even the slightest hint of what is mixed about the purported blessing.