Hacker News new | ask | show | jobs
by nogridbag 483 days ago
I gave Clojure a shot some years ago and even wrote an important tool used daily by all employees at our company in Clojure. The problem for me was maintenance. If I had to make any change to that code, I had to dive into the REPL just to understand it. Whereas with something like Java, even if something is poorly written and not documented, I can get at least a minimum understanding of the code just looking at the types.

I've been working on a large modern Java application lately and have never really felt the need for a REPL workflow even after having been exposed to it in Clojure. I tend to structure my Java code so it can be easily unit-testable and then just run the suite of unit tests (several thousand) in a few seconds as needed.

3 comments

maintained a few clojure code bases at my old company for 10+ years

i find core.spec did wonders for that problem.

also, i have a tendency to write a lot of in-code documentation, whichever language i use. so it probably helps too.

Built a significant system in Clojure (from several smaller systems). Same experience.

I wish Hickey had built gradual typing in to the language.

I still love Clojure anyway.

What about core.typed. I find gradual type systems to be hard to work with for some reason.
core.typed main problem for many years was that it was maintained by 1 (busy) student.

i don't know about nowadays though, he probably has graduated long ago!

nowadays i'd just use core.spec/malli/other honestly (for what i use clojure for).