It seems to me that normal OO programming practice dictates
that when you return an object of type $x, that all the methods
that you might want to call against $x are also loaded.

However, repeatedly during today's experiments, I find myself running
my code, then having to go back and add "use This" or "use That" just
to make it work.

For exmaple, $r is an Apache2::RequestRec that was just handed to me.
Why do I then need to add "use Apache2::RequestRec" just to be able to
*do* anything with it?  When would it ever be useful *not* to have
loaded that?  What am I going to do, just let it sit in memory?

And then, some of the methods that a RequestRec can do aren't defined
there, but in RequestUtil.  Argh.  Stop the madness.  It'd be great
if there was one documented place cross referencing all the methods
I might want to call against $r, but no... those are also spread out.

Why is this design so sideways?

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

Reply via email to