--- dave hoover <[EMAIL PROTECTED]> wrote:
> Paul wrote:
> > On Mon, Jul 09, 2001 at 09:44:57AM -0700, dave
> > hoover wrote:
> > > I think it's a matter of style, but also one
> > > should consider who will be maintaining this code in the
> > > future and whether they will be familiar with Perl
> > > or if they will have a more general CS background.
> >
> > You know, I've never liked this argument. Why
> > should I assume that someone who will be maintaining
> > my code is less than competent to do the job?
It's not a matter of assuming they're less than competent.
If anything, I usually thing of it in the terms that my mind works in
odd ways, and I try to be nice to the guy who thinks in more orthodox
veins. I may poke fun at him, but I don't accuse him of being less
competent. I'd often rather try to maintain his code than my own, for
that very reason. =o)
> > Why should some parts of the language be off limits because they
> > are deemed "too difficult" for someone who doesn't know the
> > language.
Not off limits.
There's nothing in the language I'd call "off limits", though I'd have
to have a very good reason to ever use for(;;) instead of foreach, or
(all gods forbid) a goto.... but if the reason presented itself, I'd
use it. If I need to replace a function on the stack with another one,
goto'd be my first choice, but I virtually never need that particular
functionality.
> > Maybe by using the language well I can help this maintenance
> > programmer to master it.
It might.
It might also confuse and dishearten them.
More likely, it'd give them a headache and spend unnecessary compay
hours/dollars while he stepped through it figuring it out.
That's why I'm trying to learn to be nice to the next guy.
Personally, I *LOVE* the inherent aesthetic symmetry of the Schwartzian
Transform, and will use it when it's the best tool, which it is
sometimes -- but I work with people who moan when they see my code
without such elegant chicanery, so I try to be nice to them and write
the code using a few unneeded extra steps when it's just as good.
On the other hand, they don't know how to use objects yet, and so my
code looks pretty obscure to them anyway, so I don't exactly bend over
backwards. =o) It's just that I try when it's convenient to make my
code convenient to read.
> [snip]
>
> I think trying to stretch the audience to facilitate
> learning is good practice, but you need to consider
> your audience when deciding how _much_ you can stretch
> them. A competent Perl developer needs to choose
> his/her tools carefully. Although, s/he _could_ use a
> chainsaw to solve a given problem easily, there are
> times when a handsaw is preferable. For an audience
> that is still using a hatchet, a chainsaw would be
> overwhelming and sometimes dangerous.
Abso*lute*ly. On the other hand, there are times when the big hammer
will do the job, even though the hatchet would have been better. I try
not to go too far in the other direction, either, even though
*everybody* tends to know how to swing the hammer.
> Of course, a developer does not always know who their
> audience is...and in those situations, I'd just use
> the dang chainsaw!
lol -- I'm guilty of that, too. ;o]
=====
print "Just another Perl Hacker\n"; # edited for readability =o)
=============================================================
Real friends are those whom, when you inconvenience them, are bothered less by it than
you are. -- me. =o)
=============================================================
"There are trivial truths and there are great Truths.
The opposite of a trival truth is obviously false.
The opposite of a great Truth is also true." -- Neils Bohr
__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/