6 ms·
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]
- nanomonkey 6y agoI'm absolutely in love with Clojure. That 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.
- kazinator 6y agoDon't be surprised, though, if you discover you're not able to function in an actual Lisp, either.
- nanomonkey 6y agoHa! I was going to write more about how I no longer enjoy Common Lisp also, but I didn't want to step on more toes than I already had. 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.
- shivekkhurana 6y agoAre there any objective reasons behind not "enjoy"ing CL any more?
- ledauphin 6y agoeducated guess: lack of persistent data structures.
- nanomonkey 6y agoThis too.
- shivekkhurana 6y agoBut there are libraries that fill this gap, like https://common-lisp.net/project/fset/ https://common-lisp.net/project/fset/
- nanomonkey 6y agoI've come to realize that I like opinionated languages. 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.
- rboyd 6y agoGood Clojure is pretty awesome. Bad Clojure sucks like any other bad code. The Clojure maximalism can get kind of goofy.
- CameronBarre 6y agoIn 4 years I haven't felt the need to look elsewhere.
- giantg2 6y agoI started to learn it years ago. It is interesting. 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...
- polityagent 6y agoyou learnt what everyone else was learning, so now you're competing with everyone else on their level. 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.
- throw03172019 6y agoClojure backend with ClojureScript frontend for the last 4 years. No regrets so far!
- k0t0n0 6y agoThere are no jobs in clojure
- pigletti 6y agoI've written 100% clojure(script) full time professionally for the past 3 years and have turned down several offers for more clojure work. There are certainly less jobs in Clojure but they're out there.
- sendben2 6y agoI see a lot of engineers voicing their (insightful) opinions here. What about CTOs and engineering directors, HR, and headhunters who need to recruit? Do you find it difficult to recruit for Clojure?
- a-saleh 6y agoI used it ~7 years ago, and loved it. 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 :-/
- TurboHaskal 6y agoI know that feeling. I have been asked to rewrite existing, perfectly functioning, high quality Perl, Clojure and Common Lisp projects to Java and Python far too many times. It's soul breaking, specially when you know it's being done in the name of wage control.
- TurboHaskal 6y agoThe only two companies that I know that offered on site Clojure jobs no longer accept new projects being written in it. 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.
- nextos 6y agoMaybe Racket is a good alternative? It's multi-paradigm, unlike Clojure. The community is very nice.
- TurboHaskal 6y agoI ended up with a proprietary CL implementation but yeah, I did my fair share of Racket and found it to be pretty cool.
- dragonwriter 6y ago> 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. 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.
- TurboHaskal 6y agoThat's... exactly what I said?
- dragonwriter 6y ago> That's... exactly what I said? 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 .”
- polityagent 6y agono regrets here (lead Dev at small company, 50ish employees) using for roughly 50% of the projects. 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.