3 ms·
My impression is that Clojure has found a niche, for better and worse. Back when I looked into it, I loved the lispyness but the JVM underneath it never quite
by mercer 6y ago
My impression is that Clojure has found a niche, for better and worse.
Back when I looked into it, I loved the lispyness but the JVM underneath it never quite 'clicked' and there was something about the ecosystem/community that wasn't so much bad as much as it left me ambivalent.
Then I looked into Elixir and it just 'clicked'. From what I understand, its creator, Jose Valim, took a /ton/ of inspiration from Clojure.
I still watch Rich Hickey's talks and when I have more time, I really want to take a deeper dive into Clojure, so I by no means want to reflect negatively on my experience with it so far. Just an anecdote.
- capableweb 6y agoI came into Clojure with exactly the same mindset. I've never worked with the JVM outside of Clojure, and I'm not going to, but it is a nice runtime for processes that needs performance, but not quick startup time. On the other hand, we now have Babashka, that solves the issue of startup time. So now we have two tools both using the same (ish) language, but for different use cases. And I think that's where one of the most powerful strengths of Clojure comes from. It's a hosted language, so it runs on many platforms. Today we have JVM, JavaScript, C#, Babashka and more smaller experiments, who knows where the language will pop up in the future? I'm excited!
- nextos 6y agoI agree. Personally, I find it disappointing Clojure and Julia have not ended up being the same language. Both have lots of common design principles, and at the same time features I miss on each other. Clojure piggybacked on the JVM to bootstrap its ecosystem, but long term I'm not sure this strategy offers a good growth path. Julia chose to go the LLVM route, and despite being a dynamic language performance is incredible. Multiple dispatch + AOT compilation on specialized methods works wonderfully well. Clojure also has multiple dispatch. They also both rely quite heavily on macros.
- bcrosby95 6y agoClojure and Elixir are probably my two favorite languages. Which one I like better probably depends upon the day of the week. I guess what I like most about Elixir is the BEAM vm though. I would really love clojerl to take off. But it's basically a niche of a niche. But I'm also primarily a Java developer. So the JVM has never bothered me.
- kimi 6y agoI'm in a similar situation. I like Clojure better than Elixir (though Elixir is "good enough", it sometimes feels like an ElCheapo brand Clojure knock-off) but I have a feeling that the problems I'm after - lots of small messages, resilience, scaling out - will be handled better by BEAM than any JVM. On the other hand, the Dialyzer experience - especially in VS Code - is sorely needed in Clojure, and it has nothing comparable. Whatever Rich says, types (or specs) are not built to make code run faster - they should be there to protect you from your stupidity and laziness. Automatic inference, and one-click add-to-code, are a real treat.