3 ms·
I've been looking again at Clojure recently, and it seems to have that feature of lisps that their language feature-set seems to just settle over time; unlike J
by dannyobrien 6y ago
I've been looking again at Clojure recently, and it seems to have that feature of lisps that their language feature-set seems to just settle over time; unlike Javascript and even Python, it's pretty much the same as it was a few years ago. Instead, it's implementations like Babashka that are providing most of the innovation.
I think this is a good thing! Though I do worry a bit that Clojure can look more moribund than it is. I see a lot of people exploring the language for the first time saying "this tutorial is from 2013, is it still valid?". The answer is mostly yes, but with some changes in tooling that can be dispiriting for beginners, and may make them think the whole ecosystem has gone rusty.
- capableweb 6y agoI think this tends to happen to all lisps, at one point or another. Many new language features in lisp languages don't have to be added to the compiler itself and can instead be distributed as libraries. Compared to JavaScript and others, where if you want something new, it has to go through the compiler/VM/interpreter.
- stingraycharles 6y agoIt’s pretty much by design, as the syntax and standard libraries with lispS are intentionally small. In other languages, you see new language syntax or semantics being added, while in a lisp it’s pretty much unheard of to change the syntax, there’s so little to change. Macros can do a lot of stuff, and as such libraries themselves can add pretty elaborate functionality. Having said all this, what I do notice with my experience of Clojure is that there are certain “trends” in how you write code. The language itself may not evolve that much, but the styles people write code in it, and how they solve problems, certainly does.
- vapapav 6y agoI've been using Clojure in isolation and I have "style anxiety". Can you elaborate (or point me somewhere) on the trends and changes in style you've observed? Thanks!
- diggan 6y agoI think the closest we have to a "agreed upon style guide" that is written down, is https://github.com/bbatsov/clojure-style-guide https://github.com/bbatsov/clojure-style-guide
- adamkl 6y agoHere’s some analysis to back up what you’re saying regarding stability: https://www.groundedsage.dev/posts/the-clojure-mindshare/#heading-stability https://www.groundedsage.dev/posts/the-clojure-mindshare/#he...