[osflash] Share the knowledge: Books
austin at pettomato.com
Thu Nov 10 13:43:59 EST 2005
I think that all Nicolasse was saying is that in other languages, such
as Ocaml and Lisp, "Design Patterns" is not an especially relevant book.
I mean no offense at all, but it sounds like you aren't very familiar
with these other types of languages to see why this is so. Correct me if
I am wrong.
Peter Norvig, addressing this topic says, "Dynamic Languages have fewer
language limitations. Less need for bookkeeping objects and classes.
Less need to get around class-restricted design."
I also want to second some of the books that others have mentioned, and
add my own:
1. "Code Complete" -- it's been a while since I read this one, but if we
were hiring, I would make it a mandatory read.
2. "Pragmatic Programmer" -- great advice about automating everything
you do, and why Actionscripters really need to learn an additional language.
3. "Structure and Interpretation of Computer Programs" -- videos based
on the book here:
Pet Tomato, Inc.
The Irrelevant Elephant wrote:
> Nicolas Cannasse wrote:
> <loads of stuff I didn't particularly agree with ;-)>
> I thought I'd try to thrash this out a little. I'm really still
> learning about patterns and how to apply them to my software most
> effectively, and whilst I can understand your queries; I can't fathom
> the source of the belligerence. It's obvious that you aren't a big fan
> of OO development, however I think you're a bit keen to "throw the baby
> out with the water". Or maybe you're just bitter that few people here
> are bothered with functional programming ;-)
>>I don't know exactly what I should think about Design Patterns. It's
>>true they're in general good solutions to model the problems in a
>>classic OO language with inheritance, but they are not so much useful in
>>other kind of languages (for exemple Functional ones). This is mainly
>>due to the fact that OO creates its own set of problems that are only
>>partly answered by using Design Patterns.
> This is the kind of thing I'm talking about ;-) Of course any style of
> development spawns it's own "problems" (for want of a better word);
> however patterns are /not/ "a mechanism to circumvent problems caused by
> OOP". I can only assume you haven't read /that/ much into patterns as
> inheritance features much less than other techniques, composition for
>>The need for the programmer to constantly reuse these patterns create
>>the "code bloat" pattern, also sometimes called the "Java disease" :)
>>It's when your code grows faster in complexity and number of
>>abstractions than it grows in number of features.
> I guess you've had a bad experience then? Part of the trick to using
> patterns effectively is also (a) deciding if you need to use a pattern
> at all and (b) learning to apply patterns to particular "problems" in
> your software (rather than blindly building your software around patterns).
>>I guess that a better programming language should embed the most often
>>used patterns so they become a lot more natural to use (for instance you
>>will not have to learn them).
> Maybe in some respects, but patterns aren't meant to be concrete
> implementations. That's kinda the whole point. Obviously a
> language/platform can provide support for certain patterns (for example,
> providing support for the commonly used Observer/Observable pattern) -
> but it would be wrong for a language to assume responsibility of the
> implementation of patterns at large.
>>However I still think that OO design patterns are useful since they can
>>bring some common vocabulary and methology where before everybody was
>>using its own way of encoding objects relationships.
> Yes, this is indeed another reason patterns are useful. My business
> partners are not developers; one is a designer and one is a
> part-developer-mostly-designer - but we can (and do) talk using a common
> vocabulary. Because we have also adapted the use of CRC cards
> (http://c2.com/cgi/wiki?CrcCard) into our development process, we can
> also identify patterns whilst our cards are laid out on the floor,
> before we even start cutting code.
> Horses for courses.
> osflash mailing list
> osflash at osflash.org
More information about the osflash