Ask HN: Who Regrets Choosing Clojure?
The opinion about Clojure seems to be very polarizing. Some devs. refuse to write any other language, and some avoid it like plague.
The community also has a cult like appeal.
I've been writing Clojure for a long time, and don't consider changing sides. But I know a few people who moved on (to Haskell, OCaml etc).
Did you ever regret using Clojure?
[Ask HN inspired by : https://news.ycombinator.com/item?id=23283675]
25 comments
[ 4.5 ms ] story [ 61.4 ms ] threadThat being said, it does suffer the Lisp curse, in that I now feel unable to function in previous languages that I was proficient in because I'm now allergic to boilerplate and the inability to create my own syntax when needed. Lots of Python jobs out there that I feel like I should be pursuing, yet I just can't seem to get excited anymore by non-lisp languages.
Wish there were more Clojure job opportunities out there.
Don't get me wrong, Clojure has it's difficulties. Simple things are sometimes difficult to figure out how to do the correct way...and being hosted means you end up having to know far more than I would like about Java or Javascript.
Common Lisp allows and implements nearly everything imaginable which I find disorienting. I've also found it hard to work on a team where everyone is coding in a different style, and has their own opinion on correct usage of the language. This is one of the reasons I fell out of favor with Python. I would write correct code that was often times quite performant, but would be chastised for being "hacky" (when I would write SQL views, instead of using the ORM), or unmaintainable, when I'd utilize functional constructs when others thought an OO or imperative approach was more appropriate. And every engineering manager, library maintainer, and linter has their own preference that I felt like I was bouncing between for arbitrary reasons.
Clojure's choices seem to well thought out, consistent and coincide with how I like to attack problems.
The bad part is the lack of jobs. Without jobs, I decided to focus my attention on learning languages that are more common. I can't really say this was a better choice since my career is on a downward trend...
learning something more niche can be a signal that helps you stand out, even if it's not what you use at your next job.
having said that, networking with people is the number one contributor to finding a great job.
There are certainly less jobs in Clojure but they're out there.
Our manager loved it much less, because the ramp-up to productivity was around a month for people not familiar with the language, so after our tech-lead left for another project, we spent six months rewriting the thing in python :-/
I stopped using Clojure after v1.2. I really love the language semantics: idiomatic Clojure is such a joy to read, but ultimately got tired of the lacklustre performance and the dogmatic, cult-like community.
I also no longer care about functional programming at this point in my career. Looking back, I think FP was not a way to write better code but an excuse for me to feel smug or superior to other programmers. I'm glad I grew over this.
It's multi-paradigm, unlike Clojure. The community is very nice.
Every major paradigm (procedural, functional, OO, logic, relational) applied properly, is a way to write better code. If you approach it as a way to feel smug and superior, that's about you, not the paradigm.
It's compatible with what you said, but then so is “FP doesn't help write better software and is just an excuse for programmers to feel smug and superior to others in th field .”
6 years ago we were fully Java, clojure allows us to mix the two without a business killing rewrite.
I've never had any problems training people on it.