Remix.run Logo
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.

pjmlp 3 days ago | parent | next [-]

Indeed, JVM and .NET are the only two major ecosystems out the whole Xerox PARC ideas[0], and the reason that to this day they are my two main workhorses, plus JS runtimes, because Web.

[0] - Technincally Objective-C and Swift could also be considered, but they lack the industry wide adoption, as many cool tools only exist in Apple land.

raspasov 3 days ago | parent [-]

I agree.

Swift is quite good. I assume the tooling is catching up to Objective-C. It has been a couple of years since I had to solve something with Swift.

Any reason, apart from outside requirements, to pick the .NET CLR over the JVM as a runtime in your experience? Outside of library/framework support, which I've heard is good with the CLR.

How's the garbage collector with the CLR?

jiehong 3 days ago | parent [-]

Today the CLR has better SIMD and struct alignment than the JVM.

sieabahlpark 3 days ago | parent | prev [-]

[dead]

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.

kasajian 3 days ago | parent [-]

Since you mentioned SBCL, I thought this announcement about ECL and WebAssembly would be worth mentioning for those who are curious. It was announced just last month: https://ecl.common-lisp.dev/posts/Web-ECL-Grant-Announcement... (2025-07-29)

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.

dapperdrake 3 days ago | parent [-]

Is clj-boot still a thing or was it ever a thing?

It or or was a build tool like Leiningen.

Volundr 3 days ago | parent | next [-]

Boot seems to have pretty much stalled out. I think the builtin Clojure CLI/deps.edn killed off what momentum it did have.

tombert 3 days ago | parent | prev [-]

I've never used clj-boot. I've historically mostly used Leiningen but for the last year or so I finally migrated over to deps.edn.