Isogloss, Cultural boundaries, and Programming Languages

Shawn Hartsock
3 min readJun 13, 2017
Isoglosses of the United States of America. Source: https://www.decodedscience.org/dialects-reveling-in-linguistic-freedom/7365

A few years ago I worked on/with VCRpy for a few months. I was after a specific magic trick in Python. Typical for the way that I choose to work, I wasn’t interested in the project for its own sake (no offense intended, it’s an interesting project) but rather the way I could leverage the project in unintended ways.

What’s interesting about VCRpy is that it’s a reimplementation of the Ruby language tool VCR. And, further complicating things is that there’s even a Java language version of VCR called Betamax. If I told you that there’s a GoLang version called go-vcr you’d probably be unsurprised.

When I was working toward my Ph.D. I learned that there used to be a foreign language requirement. Why? Ostensibly, the requirement was there to pull knowledge from one language in to another. I would have probably chosen to learn from and translate German papers if I had made it that far.

The foreign language requirement is a nod to the fact that humans tend to form tribal groups and knowledge tends to not flow easily over the artificial social barriers imposed by those groups. In linguistics this idea is known asa cultural boundary and subdivisions within cultural boundaries are known as isogloss.

It’s unsurprising from an intuitive perspective that Portuguese best selling books need to be translated into English to become best sellers in English speaking cultures. Similarly, for ideas to escape the boundaries of one culture and find a home in another culture they have to have some translation-help to cross the divide. For example: The spread of many important ideas from ancient Greece to Rome and to the modern United States had to cross several cultural divides in place, time, and circumstance.

The communication boundary imposed by an isogloss is created by differences in idiom. Inside an otherwise unified culture, there can easily be divides in idiom where certain meanings of turns of phrase are lost in translation. Examples of this in spoken languages might include “bless your heart”, “Tomaten auf den Augen haben.” My premise here is that programming languages are not really different.

The translation of a concept like a Monad from one isogloss to another necessarily involves some bits of meaning getting lost in translation. However, important core concepts can survive. The movement of those ideas around different isoglosses can produce wholly new ideas not possible in either strictly enforced boundary.

For technology evangelists, the lesson is that if you want to go after a certain group of programming language practitioners to attract them to adopt your platform, then, you need to learn their idiom. When you learn their idiom then you can identify what motivates the that subculture of developers. And, when you know your audience then you know what you can offer them.

The alternative is to risk achieving the opposite.

“How do you do, fellow kids!”

--

--

Shawn Hartsock

software engineer — at a hybrid cloud computing company