On Tue, Jul 5, 2011 at 4:54 AM, faenvie <fanny.aen...@gmx.de> wrote:
> that's exactly true for me: 40+ years old and OO-centric-Programmer
> since 1995.
> it takes me one year now to reach a highlevel quality in programming
> clojure.

I sympathize! I turn 49 this week (Thursday) and have been doing OO
since '92. Fortunately I did quite a bit of FP before that so I think
I can still be "saved" :)

> IMO one thing that could help OO-people a lot would be  a
> detailed guide for implementing classical design-patterns using
> clojure (see: head first desing patterns which is a fantastic book) .

That's an interesting point. Since the Gang of Four book is subtitled
"Elements of Reusabled _Object-Oriented_ Software", I wonder whether
it's really the right starting point tho'? Several of those patterns
exist to address problems people run into with OO, much like the Core
J2EE Patterns book contains patterns that exist solely to workaround
problems / deficiencies with J2EE constructs (such as EJBs).

It might be an interesting community exercise to examine the 23 GoF
patterns and discuss whether they are applicable in an FP world and,
if a pattern _is_ still applicable, what it would look like?

For example, Command would probably just be a function or closure, as
would Strategy I suspect? Template Method might be a multi-method or
protocol / extend-type combo, as might Decorator? Facade would be a
new API implemented in a namespace that uses / requires the various
namespaces to which it is a facade? Proxy is relatively
straightforward in the absence of a static type system. Flyweight is
probably not applicable. Singleton could be delay / deref? Iterator is
not needed in Clojure due to the seq abstraction. Just throwing some
ideas out there - I haven't given any of that much thought...
-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to