OOPs I need a book

Shane Hathaway shane at hathawaymix.org
Tue Nov 7 14:02:03 MST 2006


Levi Pearson wrote:
> On Nov 7, 2006, at 7:55 AM, Jonathan Duncan wrote:
>> Can anyone suggest to me a programming language agnostic book on OOP
>> theory?
>>
> 
> I would guess that Chris's suggestion is pretty good, though I haven't
> read it myself.  You will not find a completely agnostic book on OOP
> theory, though, because object oriented programming isn't sufficiently
> well-defined.  It means very different things to different people, and
> different languages have their own opinions, so to speak, on what OOP is.

In particular, you'll find that static typing has a strong effect on
what people think OOP is.  The canonical Design Patterns book expects
static typing and thus applies well to C++ and Java, but many of the
patterns become irrelevant when applied to dynamic languages.  For
example, in Python, the factory pattern is in a sense built in to the
language, since constructors and functions are called the same way.

> The examples within are in Java, but the concepts translate fairly
> easily to C++.   Although some people are saying these days that design
> patterns are signs of language deficiency,

That sentiment comes directly from the LISP community.  It's both right
and wrong.  It's right because a more flexible language like LISP lets
you eliminate the repetition that sometimes arises from design patterns.
 However, another intent of design patterns is to express the design of
the software to other developers, and that alone has obvious value.

> Once you get your OOP skills honed, you should try mastering some
> Functional Programming skills.  It's fun, and the wave of the future! ;)

You may be right. :-)

Shane



More information about the PLUG mailing list