Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Object[ion] over-ruled.

by frankus (Priest)
on Sep 04, 2002 at 08:43 UTC ( #195007=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Object Orientation is:
in thread Object Orientation is:

I like Ruby and Perl too, both are cool languages, I run both on my iPAQ; I've also used C++, Java and Python in commercial environments, and I would not grumble if I had to use them again.I didn't feel the need to mention that in the previous post.

In effect, you've proved my point. In defending OO, you've missed the salient points and started with the premise that I'm a novice.

OO Development isn't instantaneous, invariably you'll need to "reign in" the analyst who's so busy producing a design that match the "problem set" rather than observing what goes into the system and what comes out. When running OO code, in Perl at least using OO has an overhead. I think you know these things already.

Perl OO isn't a good way to learn how OO works as it doesn't protect you from bad things, it'll take you longer as you stumble across means of implementing singletons and avoiding diamond inheritance structures. Of course when you do, you'll be a hardened veteran, whereas other langauages will not tell you of these horrors, simply avoid them silently, by means of the language design (mostly). This is where Damian Conway's book is indispensable. OO is fun in Perl, but Perl isn't meant to teach you OO.

If you're using Perl and nothing else, of course you'll learn OO using Perl makes sense, but it's only maginally less stressful than learning a new language and OO at the same time. Of course I'm speaking as one who learnt C++, Perl then Java then OO Perl.


Brother Frankus.

Replies are listed 'Best First'.
Re: Object[ion] over-ruled.
by ichimunki (Priest) on Sep 04, 2002 at 14:22 UTC
    I don't know what I wrote that makes you think I started with the premise that you're a novice, I had no intention of sounding that way. Comparatively, I'm the novice.

    With any advanced functionality the trade-off is either programmer time or CPU time. If you don't need OO (or it isn't a standard bit of the language), I certainly wouldn't warp my problem domain to fit into OO. But the amount of overhead depends on the language. In some it's going to add a lot of overhead, in some not much. But if its not going to save the programmer time, why use it?

    You're right that Perl isn't designed to teach OO, it's barely designed to do OO. But I like it because everything is so exposed and a little bit hard-- that way, instead of relying on the magic of the programming language, I have to understand what I'm doing. Maybe that's not the best way to learn it. But I don't know that there's any right way to learn anything. Most things just take time and practice. I don't think if I were serious about using OO for a project that Perl would be the language I'd choose.

      Okay ,sorry. Not sure if it's a persecution complex on my part ;-)

      I agree, Perl is excellent for understanding OO since it is so exposed.


      Brother Frankus.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://195007]
[karlgoethebier]: $brand He!
[karlgoethebier]: AKA عبد الله إبراهيم
[karlgoethebier]: Abdullah Ibrahim

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2017-05-29 20:30 GMT
Find Nodes?
    Voting Booth?