Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Clojure's most important lesson (danlebrero.com)
45 points by tosh on May 25, 2017 | hide | past | favorite | 5 comments


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.


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/); listening to the same hymn over and over again won't bestow enlightenment.


https://www.youtube.com/watch?v=5-OjTPj7K54 <== complimentary tune

(and you forgot a space after the XKCD URL)



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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: