Fork me on GitHub
#clojure-dev
<
2024-01-18
>
Noah Bogart23:01:47

Reading through the Clojure source and looking at the commits, I get the impression that for a while Rich was working pretty consistently towards some goal, and had lots of spinning plates in the air while he worked towards it, and then at some point (I’m not sure when), all of his goals switched to maintaining clojure as a backwards-compatible, finalized product. There’s been plenty of work on the language since, of course, but I get the impression that the tone of that work changed towards ossification and stability. Has anyone ever spoken about that shift? Is this something others have noticed?

ghadi23:01:13

I have not noticed a shift. Clojure development continues, still problem-focused, activity still in bursts

seancorfield23:01:11

@UEENNMX0T I'm curious as to when you think that shift may have occurred?

ghadi23:01:23

Clojure 1.12 is a pretty significant release, I have been watching Alex and Fogus and Jarrod’s progress intently

👍 1
hiredman23:01:33

the hopl paper might be a good read along those lines https://dl.acm.org/doi/pdf/10.1145/3386321

👍 2
hiredman23:01:45

> There were some deprecations and removals in 1.1, and this was pretty much the last of that. > Moving forward, Clojure was to be extremely conservative about breaking changes. I wanted > Clojure to be a stable tool for professionals, not a platform for experimentation.

seancorfield00:01:46

Clojure 1.3 was probably the last "breaking" release in that it changed numerics behavior (for performance reasons) and it also moved from monolithic contrib to modular contrib. 1.4 onward have been almost entirely additive I think...?

👍 1
Noah Bogart00:01:08

Thanks for the HOPL link, hiredman. That lines up with the vague sense I’d had.

Noah Bogart00:01:26

I don’t mean to denigrate the work that has happened or continued since, just that there was a cambrian explosion of work on the language (and the standard library), and then it quieted down and the work became much more careful and measured and additive.

ghadi00:01:41

No denigration taken, I just honestly think the pace of conservative addition hasn’t changed

Noah Bogart00:01:57

Maybe! I didn’t start using clojure until 2018 so all of this has been in the distant past for me lol

Noah Bogart00:01:19

I agree about 1.12, it’s quite a big shift. I’m very excited for it

Noah Bogart00:01:48

I’m not at my computer so it’s hard to pull up examples, but there are places in the Java code where Rich commented todos or left himself notes or commented out existing code and wrote a commit message about coming back to a problem, back in 2009 or 2010, which are still around

andy.fingerhut00:01:09

There was definitely a time roughly 2007-2010 when Rich Hickey would get highly involved in discussions of Clojure design and features in the Clojure Google Group, and that slowed down, certainly. I do not know, but a guess might be that when he started working on Datomic seriously, that was when he spent more time focusing on it and less time on Clojure. NOTE: My guess -- the HOPL paper and/or other sources who know better are certainly more authoritative than that.

👍 2