in reply to Re^2: To use or not to use OO Perl
in thread To use or not to use OO Perl

Anyhow, OO is fine -- but don't think it's about reuse or maintainability or massive inheritance hierachies or anything like that. It's mostly about state and clean interfaces -- or, at least -- that's how it SHOULD be. The number of real world problems correctly modelled by massive inheritance trees are few and far between.

If you ask me, OO is a method for modelling problems that are based on interactions between Things. Not all problems are easily or properly modelled this way. When used for suitable problems, object-oriented code can be stunningly elegant; when used for unsuitable problems, it's usually a steaming heap of crap unnecessary complexity.

tilly argued this point better and more completely: The world is not object oriented.

Yours in pedantry,
F o x t r o t U n i f o r m

"Lines of code don't matter as long as I'm not writing them." -- merlyn

Replies are listed 'Best First'.
Re^4: To use or not to use OO Perl
by perlcapt (Pilgrim) on Oct 26, 2004 at 02:34 UTC
    The reference by FoxtrotUniform to The world is not object oriented is very important despite the fact the 50+ associated nodes tend to spin off into subjects that are a far cry from the orginal. (Those spin-offs have value of their own). As more of an engineer than academic (how many times do I say that), I find the academic discussions more entertaining than practical. I have missed out on some very practical things, it seems, by discounting them in this way, e.g., the notion of Functional Programming.

    It is always a challenge to decide whether the time spent in studying a new model of thinking/designing/programming is worth the investment in order to achieve productivity for the user as well as the programmer. Spreadsheets (also mentioned in the orginal node and in the discussion at Re: Re: The world is not object oriented) are a fine example of productivity without an underlieing academicly derived model. Spreadsheets are important because they provide a way for people to model their numerical thinking. So too, MatLab and many other popular applications.

    It may sound like I'm saying to ignore these purest models. No, I'm just saying, like others, particularly engineers, use the tools that work. Don't bother with rederiving the equations.. they can be found in the papers and books.

    Now, of course, if you are trying to develop a research project for an advanced degree, well it should be unique and interesting, for its own sake.