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 /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
