A few days ago, I introduced a simple language with a reference compiler in Clojure. This week, there’s been a big dustup around a talk from RubyConf, in which a company switched to Clojure from Ruby, and went back.
I have little to contribute on the language side: I like both languages, and think it’s nice that at the end of the talk, Phill discusses how writing Clojure made him a better, different Rubyist. Sharing ideas is the best.
That said, there’s one framing that is all-too-common: I’d like to call it
“rejected universal values”
David Mitchell said it best, so I’ll begin with him.
See, there are certain values that pretty much everyone agrees with:
Notably there aren’t any politicians running on a platform of more waste. There aren’t any languages that loudly advertise their complexity and frustration. Except for brainfuck maybe.
You see, people who build things are usually trying to build good things and do a good job. But this bad style of criticism seems to imply the opposite:
Much like vague bug reports, these are a road to nowhere. They express frustration in a way that prejudges the intentions of creators, which are almost never malevolent. And they do so with such a low level of detail that they suggest no way out. The point of critique is progress: accusing others of lacking universal values gets us nowhere.