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 
example.

> 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
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

Reply via email to