A weekly newsletter and podcast diving into Clojure programs and libraries by Daniel Compton.
Notes.
Hoo boy.
There was quite a commotion this weekend after Stu Halloway’s appearance on the Apropos podcast. A few years ago there was a similar commotion and I wrote this on HN with my perspective. I think it is still accurate today.
The thing to realise about Clojure is that it isn’t an open source language like Python. It is a language controlled very tightly by Rich Hickey and Cognitect. Major work is done in secret (transducers, reducers, spec), then announced to the world as a “Here it is!” and then suggestions are taken. This goes well mostly, though it took a lot of outside persuasion that Feature Expressions weren’t the best idea, and to come up with Reader Conditionals instead.
The underlying problem Clojure/Core has is their communication. If they would come out and explain their philosophy then people wouldn’t get frustrated and confused when they expect the language development to work like other open source projects. Clojure’s development is functioning exactly as planned. It’s not a mistake.
A better way to treat Clojure is closer to a project at Apple (except for Swift). You can submit bugs, and make suggestions for future improvements, and if you really want to provide a patch. But go into it realising that it’s not a community project, and you’re much less likely to get frustrated.
With all that said, the proof of the pudding is in the eating, and for the most partClojure has developed pretty well from Rich’s tight control. I’d love it if there was a Snow Leopard year for Clojure where the focus was fixing longstanding bugs and feature requests, and more focus on those in general, but the language is developing well.
While I can’t claim to speak for the community, in my experience with the Clojure folk I talk with, the concerns Zach Tellman, Tim Baldridge, Bruce Hauman, and others raised in the resulting Twitter threads are shared by more than a tiny minority of the Clojure community. On the whole, I think Clojure is developing well, but there are opportunities within the Clojure language, and for supporting tools, documentation, and libraries to continue to improve the Clojure experience.
-main
Snyk released very curious results in a survey on the JVM ecosystem last week. The most surprising thing about it was the question about the principal JVM language that people used. Java was first with 90% share, but Clojure was second with 3%, Kotlin at 2.4%, Groovy at 2.4%, and Scala at 1.8%. I was very surprised to see Clojure ahead of Scala, in my experience, Scala has been 4-5x larger than Clojure in terms of jobs, adoption, e.t.c. There were 10k respondents to the survey though, so it seems like a reasonable sample size, and the way the survey was distributed doesn’t seem too biased. Other people also found that surprising.
Another curious thing about the survey was that 60% of respondents used Java EE. I have no experience with Java EE, or that ecosystem, but I was surprised to see it so highly represented. Maybe that is the case though?
Clojurists Together is funding Datascript and Kaocha this quarter
Datomic On-Prem has a new caching option to use SSD’s
How Miika Koskinen uses tap>, and the libraries he recommends
I had a timely discussion with Ben Brinckerhoff about spec and error messages
It was mentioned above, but the Apropos discussion with Stu Halloway is a really good insight into how Clojure is developed, and how the Clojure team thinks about problems.
Libraries & Books.
People are worried about Types. ?
Foundations.
Tools.
Recent Developments.
Learning.
Misc.