I've always been fascinated by the idea that the languages we speak shape the way that we think.
I spent the early years of my life in Belarus speaking both Belarusian and Russian, then moved to Wichita, Kansas at age 12.
I already spoke some English before emigrating, but I remember feeling keenly the difference between not only the words I spoke in different languages, but the subtle differences in meaning and connotation of those words.
An orange was not the same as an apelsin (in Russian) or an aranzavy (in Belarusian). The fact that I increasingly began to think in the language of my new home seemed like the most important element of my integration into American life.
In his "Course in General Linguistics", the Swiss theorist and thinker Ferdinand de Saussure wrote about the dynamic and symbiotic relationship between a language and the culture it emerges from. This idea - linguistic relativity - was further developed into the Sapir-Whorf hypothesis, which claimed that much of a person's outlook and worldview could be explained by the language they speak.
Now I work in a world where it's often the case that the languages in which team members are most fluent and communicate most regularly are not spoken but coded. I'm interested in the idea that the Sapir-Whorf hypothesis can be applied to programming languages. Whether it's Python or Java, C# or CSS, programming languages have their own cultures, their own attitudes and proclivities, and, as such, they might be said to shape the minds of those who use them.
Technology as unifier
Programming languages have become an integral part of WorldQuant's culture, key to the way we collaborate and a marker of who we are. These languages have provided a bridge between people from different countries and backgrounds, in different teams and functions, uniting employees who might otherwise have had little in common. This idea provides a useful model that I think could have wider applications beyond the finance industry. Technology at its core can be a unifier - giving people around the world the chance to collaborate and promote progress that extends beyond borders and cultures.
Though many programming languages require a basic understanding of English, this is changing. A knowledge of the 40 or 50 words that represent the basic instructive lexicon of coding - "IF", "TRUE", "FALSE", "static", "default", etc. - is acquired far more easily than the kind of fluency needed to hold a conversation in English. Speaking to the technologists I work with, I recognize that many of them may not even think of these functions as words: they have a symbolic place within their respective programming languages. They are operands within a syntax that has its own rules and internal logic.
What's more, we are increasingly seeing the creation of programming languages rooted in other languages. There's Chinese BASIC, there's Qalb in Arabic, farsinet in Persian, Dolittle in Japanese, and Karel in Czech. Coding seems to be swiftly globalizing, a reflection of the lives and cultures of the next generation of coding talent.
According to a Developer Nation Survey, there are nearly 30 million professional software developers in the world, a number that has almost doubled since 2013.
This, though, is merely scratching the surface. For every professional software developer, an Alpha Software report shows there are four times as many citizen-developers who write code in the evening, finding in the logical rhythms of programming a beautiful escape from the less predictable everyday world. I remember when I first discovered coding as a 16-year-old, it was like finding a new home.
My first job was as a video game designer and I loved the sense that I was working in a sphere where I had complete autonomy and freedom, but where I was also part of a community of experts, a global coalition of makers and thinkers who were embarked on a common creative project using this new and powerful tool: coding.
Languages in flux
I started coding in BASIC, but programming languages have grown vastly more complex and specialized since then. Just as spoken languages evolve to reflect the evolution of the world around them, programming languages are subject to constant change, updating themselves to reflect the dizzying speed of developments in technology.
Stay informed. Subscribe to our newsletter
The chart below shows the major global programming languages, but what it doesn't capture is the extent to which each of these languages can be in a state of flux, seeking to provide its users with the tools they need to drive further, even more revolutionary change in the tech ecosystem.
Rather than focus on the difference between the programming languages, though, I'd concentrate instead on the similarities. I'd argue that, to an extent that isn't as apparent in spoken languages, collaboration and creative solutions are in the bones of the languages we use to code. They align with a worldview that is inclusive and constructive and which acknowledges and celebrates differences of perspective.
At a time when many social narratives seem to focus on division, we should be harnessing the connective power of programming languages through making coding an integral part of the global education system. It would certainly give us a greater pool of developer talent to draw upon, but I believe it might also drive deeper, more fundamental and societal change than that.
[The writer, Igor Tulchinsky, is founder, chairman and chief executive officer, WorldQuant]