I'm still recovering from the dutch Clojure days in Amsterdam and EuroClojure in Berlin. They were great conferences. And the Kulturbrauerei was a stunning location. I met a lot of friends and even their families. I also got to know new clojurians and really enjoyed our chats in the hallway and over lunch. Once more I was happy about the warm and friendly Clojure community.
However I'm also left with a bitter taste. And it is not related to me missing the crowd already.
People were always pointed to Emacs with its various backends as Clojure development environment. And rightly so. Emacs is a powerful editor.
However, over the course of the last one and maybe a half year, there is a new attitude creeping into the Clojure community. People started bashing non-Emacs environments more and more aggressively. Emacs with paredit are the one and only tools on the planet which are true to be used for Clojure development. Independent of your personal context. And you are insane if you don't see that.
Yes. Emacs is powerful. But that doesn't mean that it is not enjoyable to code Clojure in Eclipse, or that IntelliJ is less useful. And Vim is as an editor just as powerful, anyway.
BTW, did you know that Rich Hickey wrote Clojure in Emacs? Without all that fancy stuff? He just as well could have used Notepad.
I work closely together with some very talented chaps. One of them is Sam Aaron. As fate decided, he is a die-hard Emacs fan, while I'm a hardcore Vim user. We often fight over which is the better development environment.
And guess, what? This is all sparring. Although our opinions on Clojure differ at times, I have a deep respect for the chaotic musician Sam is, doing all these crazy, beautiful things with Overtone (and developing Overtone itself in the first place). And he respects me for my Clojure knowledge and me being able to live in a country where people call a soft and delicate butterfly “Scchhhmetterling.”
These are jokes between friends.
!!! Important Notice !!!
I did some horrible mistake in formulation. The following could be misread that I'm still talking about Sam, which I am not! Not at all.
However it's out to the internets and already read by many. The damage is done to his name and reputation. Dear future readers, please bear this notice in mind when reading the rest of the post.
I'm sorry, Sam.
!!! Important Notice !!!
However, on stage this is not the case anymore. Things become asymmetric. It's not a dialogue between peers. Peers, who understand the fine print. It's also a different thing than a random smug idiot on the internet. This guy up there knows his shit, right? Otherwise he wouldn't be there. So we should listen to what he says.
I tried to grow a thick skin over the years. From time to time I couldn't resist to throw in a response on the google group. In general I try to not let these things doing any harm to me.
But mocking four years of hard work during my spare time on stage of the european Clojure conference under the laughter of the audience is too much.
This is not funny! This is slap in the face of each and every non-Emacs related Clojure tool smith!
Accepting the public display of this disrespect is detrimental to our community! The majority of the people is very kind. Most of the audience probably didn't even notice what they were laughing about, nor had the speaker any bad intent. It was just a joke, right?
Shortly after my near-explosion, Laurent Petit – the creator of Counterclockwise – was mocked quite openly on Twitter by conference participants.
I don't want the community going down that road any further.
A very interesting property of the early Clojure community was the huge diversity of its members: Java developers, Lisp guys, web devs, data miners, number crunchers, computer scientists. This was also reflected in the tooling. All the major players are covered: Emacs, Vim, Eclipse, IntelliJ. Nowadays there are even new players like Lighttable in town. Similar for the build tools: Leiningen, Maven, Gradle.
This diversity is a strength! No matter what the environment looks like—we got it covered! This is a huge advantage to drive Clojure adoption in existing organisations.
Instead of forming elitist sub communities mocking the rest we should foster this diversity. If you write a cool plugin for one environment provide the core functionality as library, so that other environments can easily adopt it. Going that extra step of additional work is to the benefit of the community.
Help newbies to set up their environment for Clojure. Not yours! Learning a new programming language is hard. Keep as much as possible of the rest constant to concentrate on the essential thing: learning Clojure!
This drives Clojure ahead!
Published by Meikel Brandmeyer on .