Contempt in Swift

October 17, 2016

You should read this fascinating article on contempt culture in programming communities, specifically Python. It details the dynamics of having contempt for another programming language and for the developers who use it. The article describes the toxicity of this culture and the obvious result: exclusion.

A community can’t be both welcoming and be exclusive of those who have other preferences.

I think it’s worth exploring the idea of contempt culture in the Swift community, particularly in regards to Objective-C and Objective-C developers.

Before we begin, I need to say: I’ve been a big critic of Objective-C’s. Four months before Swift’s announcement, I wrote We Need to Replace Objective-C. I didn’t insult the language, I criticized it and detailed reasons it needed to be replaced. That’s okay. But I’ve been known to go further than technical critique: I’ve implied that Objective-C is a bad language and I’ve made fun of Objective-C developers, and that was wrong. I’m sorry.

There’s a lot of damage caused by hating on Objective-C and Objective-C developers. Contempt of Objective-C only impedes the inclusion of others within the Swift community, which ultimately hurts the goal of spreading fluency of this awesome language. It’s self-defeating to hate on Objective-C because you love Swift.

Objective-C isn’t the only target of our contempt. I regularly see developers bash JavaScript, despite the fact that it runs a significant portion of the web.

And of course, what iOS developer doesn’t love to hate on Android (even though it’s marketshare outstrips iOS by a mile).

I think developers throw shade on other languages as a form of signalling. “I’m one of you, I hate them too.” It’s only human. But this othering has a significant emotional cost for those developers in those outside groups.

Is it worth it? Is it worth it to mock outsiders and exclude them from our community? Individually, we might say “no”, but as a community, we have clearly answered “it is.”

The original blog post’s author had a solution to the problem:


I couldn’t agree more.

Please submit typo corrections on GitHub