Rich Hickey spoke again recently, doing the keynote at Clojure/conj. While not quite up there with classics like “The value of values” or “the language of the system”, it was a really interesting talk, providing some welcome context about Clojure’s design. If you haven’t watched it yet here’s the link:
For me there were two things that really stood out. One was Rich’s assessment about static typing and his reasoning against it. Lots of people have jumped on this aspect of the talk, either in agreement or disagreement. I think Eric Normand of Purefunctional.tv has really provided the best write up. Having worked both as a professional Haskell and Clojure dev he’s well placed to comment on this.
But the other thing that struck me was a more off-hand thing. Rich asked how many people had only been programming for less than $x years (5 maybe? I’d have to rewatch the video). You don’t see the show of hands but from his reaction it seems there weren’t many, and he jokingly concludes that Clojure is a language for “grumpy old programmers”.
The idea seems to be that Clojure only makes sense to people who have felt the pain of other languages, who have matured as programmers, and have gone through the enlightenment that led them to Clojure. I’m sure this is true for many people, but there’s another aspect to this. If after ten years there are almost no beginners at your main conference, then maybe there’s a problem with your outreach.
This goes hand in hand with a certain “elitism” I notice in some Clojure circles. A limited amount of patience, a limited amount of willing to indulge young people who are trying to learn. A “be quiet now the adults are talking” kind of vibe.
What do you think of this? Have you experienced or witnessed this elitism? Or am I imagining things?
Looking forward to your thoughts!