This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
@val_waeselynck I didn’t (and still don’t) find Clojure ‘natural’ but I have 19 years of OOP and 9 years of procedural programming to unlearn. My synapses are fixed to break problems down around those paradigms. So although it’s natural if you are starting from a ‘cleaner’ slate if you are aiming at converting OOP dev’s its not something they find natural at all. I have introduced Clojure to a group of hardened Java dev’s and they are intrigued, open minded but they find the FP paradigm and ‘alien’ syntax frustrating.
@thomas if you are aiming at Java dev’s then for me the killer USPs are: concurrency built in, simplifies data handling (parsing, etc.) and Java interop. The funny thing about the last point is it’s a ‘crutch’ you want to get rid of after a few months. I found having Java to call on was something I thought I would use when I started but after a while it just annoyed me if I had to switch to directly calling Java as it felt unnatural in Clojure (not idiomatic) and I prefered Clojure libs that ‘wrapped’ Java to native interop calls.
My current favourite sound-bite around FP generally that you could use is one lifted from a tweet by Michael Feathers "OO makes code understandable by encapsulating moving parts. FP makes code understandable by minimizing moving parts."
@val_waeselynck Interactive development is a plus point. The REPL is a revelation when you’ve not had this in Java/C# etc.
@alexmiller yes I saw that. I've tried http://www.javarepl.com/ but I don't find a Java REPL as useful as you still have to write a lot of boiler plate. We shall see how well the import functionality works as I feel loading other classes and packages easily will be vital to its success.
no disagreement from me :) I used to use beanshell (and groovy) for this in the past.