4 ms·
This is probably going to be a very unpopular opinion here, but I think Clojure is a horrible language to work with. I don't have the experience with non imper
by staticelf 11y ago
This is probably going to be a very unpopular opinion here, but I think Clojure is a horrible language to work with.
I don't have the experience with non imperitive languages which makes learning clojure a really steep curve. Also the error you can recieve with clojure are many times a big mystery, I've never seen as bad error reporting as I've seen with Clojure. Other issues I have with it is that Clojure-fans tends to want to write EVERYTHING in clojure or lisp style code. That includes stuff like Javascript, HTML and similar stuff. Things that just makes it even more complicated.
I have really tried to learn it several times but got so frustrated I quit. We have a small thing at work which is written in Clojure and no one knows how to fix issues with it since no one has any experience with Clojure.
Clojure does not fit my brain.
- timroy 11y agoI work only with Clojure and ClojureScript (including a simple DSL which lets me write HTML in Clojure-syntax). Error reporting in Clojure is bad - no two ways about it. Once I got used to scanning the JVM stack trace, it wasn't so bad. But it could be better. I really prefer writing ClojureScript to JS: using one language, with the same data structures, is a seamless experience. I like writing HTML in Clojure data structures, as it makes manipulating the data much easier. But your mileage may vary here! Clojure won't be my last language. :-)
- chrislloyd 11y agoI think your criticisms are definitely valid. The learning curve is steep (intentionally so) but definitely worth it. Your programs will become more reliable and you'll get more done as a consequence. Please push through! The error messages are terrible, and there are a lot of ongoing conversations about them at the moment in the Clojure community[1]. The Clojure[script] toolchain does tend to be all-in but there's work happening now to break that up — stay tuned. StackOverflow and the Clojure Slack channel also full of people who know how to fix issues :) Stick with it, when you'll have an "ah-ha!" moment soon enough! [1]: This talk is a good backstory as to why the errors are so bad, and useful no matter what language you use https://www.youtube.com/watch?v=FihU5JxmnBg https://www.youtube.com/watch?v=FihU5JxmnBg
- jdeisenberg 11y agoDefinitely agree with you on the bad error reporting. As to the other part, at some point you have to make a mental adjustment to the "Lisp way" of doing things, and that may not be easy. Out of curiosity, which materials (online, books, etc.) have you used when trying to learn Clojure?
- JBiserkov 11y agoClojure = Functional programming + Lisp + Decomplecting. The first two are big enough to spend months on. Expecting to learn it all in a week(end) is unrealistic. See "Living Clojure" http://shop.oreilly.com/product/0636920034292.do http://shop.oreilly.com/product/0636920034292.do Your brain will thank you.