For me (a similarly entrenched OO guy) I found it very challenging.  

Nothing to do with the syntax, but you are moving from a world of locked up 
bits of data behind a (hopefully) impenetrable API to a world full of 
lightweight data with a myriad of tiny functions which pretty much all 
perform data transformations.  "Let your data free!" is the battle cry it 
seems.

After a number of years people start to become unconsciously competent 
which is where the pain lives - you need to deconstruct your "intuition" 
and "gut feel", figure out the decisions you are taking and then challenge 
them.  At least for me I found a lot of the "intuitively good" solutions 
were actually quite poor when compared to the benefits and freedom FP 
brings.  They were still good solutions/implementations in the locked down 
Java land, but not over in FP land.  This is particularly prevalent because 
a lot of people don't separate out 'design' and 'implementation'.  Does the 
solution require encapsulation?  Yep, but that doesn't mean reaching for a 
class (or protocols or multi-methods for that matter).  And so on.  For me, 
forcing myself to learn Clojure (and Scala before hand) has made me a much 
better developer in general, even when working on OO implementations.

It is worth mentioning that 99% of the battle is changing the way you 
think, it has little to do with the tools.

Go watch every single Rich Hickey video.  Go watch them again. 
 Particularly the "simple made easy" and the one where he talks about time.

Pick up a really simple 'Clojure syntax' book or tutorial and then read 
'Joy of Clojure'.  

Now read through the core API.  You need to internalise that API and the 
code is pretty idiomatic (arguably by definition given the authors).

Keep going though - it really really is worth it.

On Friday, 10 January 2014 12:52:53 UTC, christian jacobsen wrote:
>
> I have +10 years experience of OO programming (C++, C# and a little Java) 
> and a couple of years of FP programming (mainly F#, some Scala and a little 
> Haskell). 
> Are there any resources for learning Clojure that are particular good for 
> someone with the above background?
>

-- 
-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to