
Clojure's most important lesson - tosh
http://danlebrero.com/2017/05/24/clojure-most-important-lesson/
======
hacker_9
Coming from C#, Clojure was definitely a shock to the system. I originally
chose the language for a side project because I wanted to learn something
fully functional. It definitely took me a while to get running with the
language, and there was (and still is) a lot of documentation reading on my
part to see how functions are used. I stumbled over IDE choices (emacs or
cursive?), lazy sequences, the idea of everything being a map or list,
updating tree structures with 'assoc-in` which actually returns new trees
because it's all immutable, and so on and so on.

It was tough going to begin with, but now I can look back and be happy I made
the effort. It's definitely opened my eyes as to what can be done with a
dynamic language. I never thought that a language without an explicit type
system would actually be easier to reason about, but now I realise I was just
scarred by Javascript. The functional nature, and the immutable data
structures that all fit together so well, not to mention the STM, make Clojure
a joy to work with.

Not that there aren't some warts still, mainly to do with debugging and error
messages. But you learn to work round these problems.

------
paulddraper
I was hoping for an explanation a little more concrete.

I mean, we already knew Lisp is the language of of the Gods
([https://xkcd.com/224/);](https://xkcd.com/224/\);) listening to the same
hymn over and over again won't bestow enlightenment.

~~~
pygy_
[https://www.youtube.com/watch?v=5-OjTPj7K54](https://www.youtube.com/watch?v=5-OjTPj7K54)
<== complimentary tune

(and you forgot a space after the XKCD URL)

~~~
paulddraper
Oops. [https://xkcd.com/224/](https://xkcd.com/224/)

------
indigo0086
I think I'm done reading philosophical analyses of languages that don't teach
me anything about it.

