Simplicity & Power: Rich Hickey on Clojure's Philosophy and the JVM

Simplicity & Power: Rich Hickey on Clojure's Philosophy and the JVM

UGtastic Archive
Transcript Verified
The Interviewer

Mike Hall

Interviewer, community organizer at UGtastic

The Guest

Rich Hickey

Creator of Clojure and CTO of Cognitect

The Conversation


Mike Hall Interviewer, community organizer at UGtastic
Hi, it's Mike again with UGtastic. I'm here again at the GOTO Conf in Chicago 2013. I'm sitting down with Rich Hickey. Rich, as you may know, is the creator of the Clojure programming language. It's a Lisp dialect on the JVM. Thank you very much for taking the time to sit down with me. It's a very busy conference, so I appreciate it.
Rich Hickey Creator of Clojure and CTO of Cognitect
You're welcome.
Mike Hall Interviewer, community organizer at UGtastic
So you created Clojure, and you released it to the Lisp mailing list. Eventually there's user groups exploding, conferences being formed about people who are rabid fans of the language and the concepts and the ideas underpinning the language. As somebody who's created this tool and then basically released it to the world, what has your experience been seeing these various groups pop up when you didn't have a marketing team or evangelists seeding money for user groups? What has that been like for you?
Rich Hickey Creator of Clojure and CTO of Cognitect
Well, it's incredible. It's quite surprising. I think when I wrote Clojure, I definitely did it as a personal satisfaction project. Being a new language and a Lisp, I did not expect very many people to be interested at all. But I think Paul Graham's book and essays and the success of Python and Ruby sort of seeded people with a desire for new languages and for Lisp that they could actually use for day-to-day work.
Rich Hickey Creator of Clojure and CTO of Cognitect
So yeah, it was quite surprising. I put out a message to two dozen people, and it got put on Hacker News, and I got 20,000 hits the first day. It was really something. The interest in the idea of it was already there before Clojure was, I think.
Mike Hall Interviewer, community organizer at UGtastic
One of the things I find interesting is that it's built on a pretty stable culture. The JVM and the people around Java—that's a well-established community. There's not too many exciting things going on; people identify as Java developers, but they're not as enthusiastic as someone saying, 'I'm a well-versed Clojure developer' or even a Ruby developer. I just think it's interesting that the hottest language right now is built on this really incredibly vanilla, boring platform. Has that been a boon or a bust for getting support?
Rich Hickey Creator of Clojure and CTO of Cognitect
I think it's quite critical to Clojure's success that it's built on top of something that is an industry standard and people are comfortable deploying in production. It's one of the reasons why it was possible for Clojure to succeed—the fact that it was possible for people to use it in production and at work.
Rich Hickey Creator of Clojure and CTO of Cognitect
I think that's what helped drive people's enthusiasm: they knew they had to work with the JVM, and now here was something that let them do something new yet remain connected to what they had been doing, as opposed to having to drop everything and try something completely different.
Mike Hall Interviewer, community organizer at UGtastic
So having that 'boring' base allows you to have a little bit of excitement while knowing the underpinnings are solid and won't break?
Rich Hickey Creator of Clojure and CTO of Cognitect
Yeah, well, they're not just boring. They're also quite capable, robust, and well-tested. There's a lot of leverage in the libraries that exist there. So I wouldn't want to belittle Java and the JVM's role in Clojure.
Mike Hall Interviewer, community organizer at UGtastic
Boring wasn't necessarily a negative statement. It's the boring of: 'I know I can get up and it's going to be working.'
Rich Hickey Creator of Clojure and CTO of Cognitect
Yes, not exciting in the 'you don't want to be excited' way.
Mike Hall Interviewer, community organizer at UGtastic
But looking at the Ruby group, where you don't always know things are going to work and libraries are always under a lot of churn—that's not the most stable community. I see a mirroring in the Clojure community where, while it's built on Java, the community that seems to have migrated most to Clojure actually seems to be more from the Ruby community, at least from my observations.
Rich Hickey Creator of Clojure and CTO of Cognitect
So the numbers actually say that a plurality of Clojure programmers come from Java. But there are certainly people coming from everywhere—from Ruby, Python, and Scala. A lot of Java programmers are interested in other things, and now this lets them pursue that.
Mike Hall Interviewer, community organizer at UGtastic
Have you gone to and participated in any user groups? Have you ever tried to go not as 'Rich Hickey,' but just to see how people are using or talking about Clojure?
Rich Hickey Creator of Clojure and CTO of Cognitect
I've gone to groups, but I've always given a talk, so I don't think I've just been an attendee too often. Sometimes at the New York group, I will just be an attendee. But it's so exciting to see what people are doing. We have three conferences a year now—East Coast, West Coast, and Europe. The mailing list is gigantic (7,000+ people), and the IRC is full of helpful people. The community has been great; there are people looking to help others succeed, and that has fed itself.
Mike Hall Interviewer, community organizer at UGtastic
I probably have a Ruby bias because that's who I mostly interact with. I was inferring that Ruby developers are seeing cracks in Ruby's methodologies and limitations, looking to Clojure as an answer. I've heard you're a vocal critic of Ruby, the language?
Rich Hickey Creator of Clojure and CTO of Cognitect
No, I couldn't be because I really don't have very much experience with Ruby at all. I do see people migrating from Ruby, and they have their own stories about why they've done that, but I would let them speak for themselves.
Mike Hall Interviewer, community organizer at UGtastic
How do you receive feedback from the community? Do you have the Linux model where you're the 'Benevolent Dictator' and you decide how features are brought in?
Rich Hickey Creator of Clojure and CTO of Cognitect
Yeah, it is a benevolent dictator model. There's the big mailing list for everybody, and then the developers list, which is somewhat smaller and more focused on moving forward and implementing patches. That's the primary feedback mechanism. Then there's JIRA where people issue bug reports and enhancement requests.
Mike Hall Interviewer, community organizer at UGtastic
Do you go through the Apple model of holding back big releases until right before a conference?
Rich Hickey Creator of Clojure and CTO of Cognitect
No, they come out on a regular cycle. If we're close to a release before a conference, we try to get it done so people will have it to talk about, but it's not coordinated with them specifically.
Mike Hall Interviewer, community organizer at UGtastic
Aside from the sheer size, what has been the most surprising aspect of how people have adopted Clojure?
Rich Hickey Creator of Clojure and CTO of Cognitect
I think just the quantity of people has been astounding. It's got everything against it, right? It's a Lisp, it's functional, and it's dynamic. I was super concerned about the tone of the community from the beginning—that it be positive—because other Lisp communities had struggled with that, and I think that had been a barrier to adoption. I wanted a clean slate. Seeing the entire community propel that positive attitude forward has been really satisfying.
Mike Hall Interviewer, community organizer at UGtastic
Becoming the center of this 'Lisp revolution'—has that impacted your ability to move in technical circles without being pounced on?
Rich Hickey Creator of Clojure and CTO of Cognitect
There's no denying that what happened with Clojure has changed my life. I wasn't a public figure before Clojure, and now there's all this attention. I've tried to use that as an opportunity to talk about the ideas behind Clojure—not to sell it, but to talk about what it's about. I really enjoy meeting people, and being part of the conferences has let me meet and learn from a ton of great people.
Mike Hall Interviewer, community organizer at UGtastic
Do you think Clojure has a long way to evolve, or is it reaching a stable point?
Rich Hickey Creator of Clojure and CTO of Cognitect
It's funny, because as you kept saying 'Lisp,' I wanted to respond that Clojure isn't about a 'Lisp revolution' so much as it is a way of thinking about making software simpler. Being a Lisp, it should be small, and most growth should come from libraries. Stability and a cautious, incremental rate of change is the most important thing because you don't want to upset everyone who took a risk to use it. The core should be a stable kernel, and then everybody builds around it.
Mike Hall Interviewer, community organizer at UGtastic
When I said 'Lisp revolution,' I should have said 'Functional.' I see people adopting Clojure and then picking up Emacs and dabbling with logic languages. It seems Clojure helps them make a leap from strictly OO programming.
Rich Hickey Creator of Clojure and CTO of Cognitect
I think it's more in the people than Clojure changing people. It attracts people who are interested in ideas, functional programming, and managing concurrency. I've never sold Clojure; I've just talked about what it is and let the people with whom those ideas resonated show up. The community values ideas; you see it in the conferences. It's not a lot of 'how to do X or Y'; there are a lot of talks about core logic and investigation of ideas.
Mike Hall Interviewer, community organizer at UGtastic
It's a useful gateway drug for getting people to break away from preset notions. I know Vim users who are now completely dedicated to Emacs because of Clojure. I think we are in a 'second phase' of users now?
Rich Hickey Creator of Clojure and CTO of Cognitect
Yes, the early years were people interested in functional programming or Lisp. Now we're seeing people who just see someone they respect being enthusiastic about it. For them, the whole thing is new—the parentheses, the Lisp, the functional macros. The educational burden of Clojure is much bigger now. They need the community to help them get up to speed on all aspects—JVM, Lisp, functional programming, Emacs. That's a lot of novelty.
Mike Hall Interviewer, community organizer at UGtastic
That was my experience coming from a .NET background. What would you recommend for somebody getting started today?
Rich Hickey Creator of Clojure and CTO of Cognitect
It depends a lot on their background. I would say investigate some of the books; many are in their second editions now. If you can browse them at a bookstore to get a feel, pick two that are in different spaces. Getting in touch with the community early is super important—get on the mailing list or IRC. Everybody has different needs, so there isn't one universal answer, but engage the community.
Rich Hickey Creator of Clojure and CTO of Cognitect
This next phase of growth is on the community. When I started, I didn't have time to explain the Lisp aspects because I was trying to tell the story of why Clojure was unique. Now the community is there with documentation sites, exercises, and the Clojure Koans. I'm proud of how well they are receiving newcomers.
Mike Hall Interviewer, community organizer at UGtastic
Great. Well, thank you very much for taking the time to sit down.
Rich Hickey Creator of Clojure and CTO of Cognitect
Sure. My pleasure. Thank you.

Critical Insights


durable
"Clojure's success was fundamentally enabled by its hosting on the JVM, providing a stable, production-ready foundation for radical ideas like functional Lisp."
durable
"The 'Benevolent Dictator' model in Clojure focuses on core stability and a cautious rate of change, delegating innovation to the library ecosystem."
durable
"Open-source adoption can thrive without formal marketing when the core ideas resonate with a self-selecting community of 'idea-oriented' developers."
durable
"Clojure acts as a 'gateway' to broader programming paradigms, often leading developers into logic programming, Emacs, and deeper functional concepts."
durable
"The 'Second Phase' of language adoption requires a shift from explaining 'uniqueness' to providing comprehensive education for developers with no prior Lisp or JVM experience."
durable
"Community tone is a critical barrier to entry; maintaining a positive, helpful environment was a deliberate architectural goal for Clojure's social fabric."