▲ | user3939382 3 days ago | |||||||||||||||||||||||||||||||
I think LISP is cool and want to use it more but I have 0 appetite to learn the toolchain and debug etc for JVM. You have Racket but Clojure ecosystem is already tiny. | ||||||||||||||||||||||||||||||||
▲ | raspasov 3 days ago | parent | next [-] | |||||||||||||||||||||||||||||||
That’s a common misconception. JVM toolchain is way better than the hellscape that are most other language ecosystems. Maven, for example, works reliably and is rock-solid. The only unsolved problem is if you get two libraries/frameworks requesting another dependency, but with different incompatible versions. But I don’t think most other ecosystems solve that painlessly either. Debug specifically is state-of-the-art. Look at YourKit, or any debugger included with common IDEs. None of those tools has a shiny Visual 2025 aesthetic, but again, they work reliably and are going to work the same way a year from now. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
▲ | dapperdrake 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Clojure taught me lisp where CL failed. Turns out that Scheme and Clojure as a lisp-1 are great for learning. Switched to SBCL for the faster star-up times. Now lisp-2 also feels more comfortable. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
▲ | tombert 3 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||
Leiningen and deps.edn shield you a bit from the awfulness of Java project management. They feel a lot more like something you'd see in Node.js or something, but it still gets dependencies from Maven Central. Debugging and profiling is still somewhat Java based, and yeah that's can be irritating, but you get used to it. Personally I do think that it's worth it; Clojure is a very pleasant language that has no business being as fast as it is, and core.async is an absolutely lovely concurrency framework if you can convert your logic into messaging, and you have Haskell-style transactional memory for stuff that can't be. So many problems become less irritating in Clojure. | ||||||||||||||||||||||||||||||||
|