Hi All
I was reading all the posts about people whining about the state of CPAN
(as people should... it's hard to tell what's going on in CPAN these
days ;-) and the topic has drifted to this "P2EE" thing that's getting
thrown around. I somehow feel vindicated:
http://www.geocrawler.com/archives/3/182/2000/12/0/4779413/
I posted that nine months ago when I got frustrated about the total lack
of consistency, symmetry and homogeneity in Perl classes. Even the shit
that's built-in to Perl is a mess... who the hell wrote localtime()?
Argh! It's almost as bad as the java.util.Date fiasco.
Anyway, I am glad people are seeing that it's a problem. When it comes
to laying down standards, though, we have a few hurdles to jump... who
decides who is in charge of these "standards"? Perl gurus? But more
often than not, Perl gurus aren't "engineers", they're "ex-hackers", and
I don't think hackers should be deciding what goes into P2EE...
But I think the basic idea of this "P2EE" --or whatever it's called-- is
great. I think things should be mandated everywhere like named
arguments for methods, naming conventions for
variables/methods/packages, coding styles. APIs should be forced to be
consistent across the board. Methods should be named completely and
descriptively (jesus h. effing christ i can't tell you how many times
I've seen methods named "do_it()" and "process_data()"... are these
people high?). Methods should even be encouraged to describe their
return value (like array_of_keys_sorted_by_name(%things) or something
like that). All of this comes back the basics of simple, clear
programming to minimise bugs and maximise resources. God, I can't tell
you how many times I've had arguments with idiots who think it's OK to
call a method "m". Like, $myObject->m($something, $somethingElse).
I mean, what the f**k does that do? And their chief justification?
Because it's easy to type. Well, uh, PISS OFF.
OK, I'll stop ranting. :-)
That's my 2c for the P2EE standards.
Kyle Dawkins
Software Engineer
Central Park Software
http://www.centralparksoftware.com