Hacker News new | ask | show | jobs
by lukev 401 days ago
One of my favorite things about the JVM ecosystem is how stable it is. A 5-year-old library will almost certainly Just Work. And Clojure very much follows the same spirit. There's a lot of great, useful libraries that haven't been updated in years... not because they've been abandoned but because they're _done_ and just don't require active maintenance.

Immutability as a cultural value, not just a data structure.

2 comments

The entire Clojure ecosystem is obsessed with stability. And I love it: it might sound boring, and you often see people complain that a library is "dead" or "abandoned" because it didn't receive updates for the last 2-3 years, but it is certainly great for business.

I run a solo-founder business and this approach means that I don't get the cost of constant churn that many other ecosystems suffer from. This is a really important factor.

That is why Valhala is on a decade now, sadly.

The core design goal is how to add value type semantics, including existing classes like Optional, while not breaking existing libraries, those JARs should work as much as possible on values aware JVM.

This is how do we add Perl 6 like features to Perl 5, without requiring people to migrate to Roku, as example.

I like how they try hard not to say just "structs". another one is "codes like a class, works like an int". as if they were ashamed of the word struct. value type semantics is just that, plus few extra rules for some reasons (forced immutability is one of them iirc).