October 12, 2019
When people who don’t code listen to programmers talk about code, something they say is that it sounds we’re “speaking a different language”. We are! Programming is its own language, and a baffling one to listen to. In this post, I’ll try to explain this phenomenon.
The names are baffling to listen to because they describe ideas that have almost no analogy in human life. They are uniquely inhuman, because few things are less human than a computer. Programming reveals just how differently a computer approaches a problem than we do. And, each name builds on top of others like a house of cards. As for the origins of these names, it’s complicated. You can trace some of them back to math, engineering, or skilled trades. Others come from academic inside jokes, misunderstandings, just plain old marketing. Some of them seem to come from nowhere.
So yes, programming is a different language. In my talks, I try to build my arguments from first principles, avoiding jargon when I can. At some point I’ll lose the non-programmers, just like I’d get lost at a medical conference, but I try to delay that moment as long as I can.