The Arrival, linguistic determinism, and programming languages

My son and I recently saw The Arrival, a movie that at first reminded me of Arthur C. Clarke’s Childhood’s End. The trailer suggested more action than was delivered, not a bad thing; the impact was primarily psychological.

Spacecraft arrive in several locations, hovering just above the ground. As you might guess, each country’s military forces quickly take control. The focus is on the US contingent (of course), although Australia, China and other countries are initially in frequent communication to collectively figure out what’s going on.

A sliding “door” periodically opens in the underside of each craft and personnel enter to try to make contact. Artificial gravity inside the atrium in which the humans stand makes things a little easier. A mostly opaque rectangular window separates them from the aliens and their atmosphere. The military personnel quickly realise that they need outside help so they enlist a linguist and a physicist. Apparently only America has competent linguists and physicists. 🙂


I won’t say more about the plot because I want to focus on one aspect and head off on a tangent. After a lot of puzzling by the main protagonists over the strange circle-based language in which the aliens try to communicate, the linguist eventually understands, with the help of a close encounter, why they have come. Nothing sinister as it turns out.

Along the way, the linguist talks to her physicist colleague and friend about the now somewhat outmoded Whorf-Sapir hypothesis (or just Whorfianism) of language or in which the structure of language is thought to affect the world view or cognition of its speakers. The weak form of this, linguistic relativity, says that a language merely influences thought, whereas the strong form, known as linguistic determinism, suggests that language determines what can be thought.

As the philosopher Ludwig Wittgenstein put it in his Tractatus Logico Philosophicus:

The limits of my language mean the limits of my world.


About what one cannot speak, one must remain silent.

The Arrival adds an interesting twist to this by allowing the linguist, who understands and internalises the alien language, to experience the world in a way that is, shall we say: temporally flexible.

The tangent has almost arrived; just a couple more paragraphs… 🙂

There is research suggesting that languages with names for particular colour shades make it easier for its speakers to remember those shades. This is an example of the weak form. However, we know that it is possible to perceive and describe shades, even if we have no explicit names for them, evidence against the strong form of the hypothesis.

Another example of the weak form would seem to be the fact that the Greek language has a different words for love: for God, friendship, the love of a parent for a child, and love between intimate partners.

I have not researched this enough to know whether there really are plausibly deterministic examples in natural languages, but I’d be interested in seeing some.

EDIT: It occurred to me today that I had heard of and recently read (here) about a culture whose language has only the number words one and two with many being the catch-all for other quantities. This most definitely places constraints upon the worldview of its people. In particular: the ability to count to specific numbers beyond two. It may be that in such a culture, this is all that’s required for enumeration in daily life, but it’s difficult to argue that growth is not limited by this, in particular: the discovery and use of mathematics. This is an example of linguistic determinism in natural languages.

Now finally, the tangent…

This all got me thinking about linguistic relativism and determinism in programming languages. To what extent does a programming language influence or determine what a programmer can think or limit his/her world view?

Whereas a language like assembly, C or C++ gives complete access to the hardware of a computer, Virtual Machine based languages like Java don’t, so too for explicit memory de-allocation vs garbage collection and other “unsafe” operations.

For example, not being able to express the thought in code: “write 42 to memory address 673416” limits what can be thought (programmed) in that language, an example of the strong form, so linguistic determinism.

There are of course many applications for which it is completely unnecessary (and dangerous) to be able to express such thoughts, so type systems that rule out whole classes of dangerous “code thoughts”, do us a great service, but at the cost of limiting our world and forcing us to be silent about certain things, as Wittgenstein might say, and possibly but not necessarily at the cost of performance.

Similarly, a language with even simple intrinsic data structures such as lists and maps permits more complex code with less effort. So long as suitable language constructs exist, i.e. pointers and dynamic memory allocation, such data structures (and algorithms to operate over them) can be created by the programmer, albeit at a greater cost and cognitive effort, and made available as libraries for use by others. Here we are closer to linguistic relativity I think. It was not uncommon to find myself, especially in the 90s, writing custom list data structures and search or sort algorithms from scratch when coding in the C programming language.

Perhaps the strongest encounter I had with the idea of language-as-influencer-of-thought was when learning Perl 20 years ago while working for a dial-up era Internet provider. The combination of regular expressions, lists, and maps in particular provided new ways to think about text processing, beyond simple character-by-character or sub-string comparisons.

If you had asked me 15 years ago which languages I could “think fastest” in, I would have said Perl and Java. Before them, the answer would have been C. The Perl experience translated to similar scripting languages all of which have been only incrementally better or worse, including Python.

At University I had studied and taught programming paradigms,  written a couple of compilers (e.g. ACE), engaged in some language design; I spent a lot of time in the 90s and early 2000s on the latter two.

The impact of object-oriented languages like Java and C++ (in fact, embodying multiple paradigms) was longer-lasting than most, especially with respect to the design and maintenance of large code bases. In recent years I’ve had increasing sympathy with the functional programming paradigm and strongly statically typed languages that limit the set of “legal” programs (for my own good).

As I have said in a different post, all programming languages are crude approximations of some Platonic ideal of a coming together of minds, artificial and natural, and there are very few languages yet that make communion with the machine or, just as important, with other programmers, a beautiful experience.

The idea of a programming language that doesn’t just place limits on my world, but one that radically changes the way I think about the world, as the alien language did for the linguist in The Arrival, is alluring.

I remain in search of such a language (and its ecosystem of libraries and tools), one that of course can only ever be asymptotically approached.

Writing this has scratched an itch that has been irritating me for a long time. Perhaps I’ll have more to say about particular languages and how they live up to the “ideal” in future posts.

5 Responses to “The Arrival, linguistic determinism, and programming languages”

  1. codeinfig Says:

    wow, did i ever enjoy this post. its also a great movie review. i feel bad for dijkstra, who will always be remembered most for his rant against goto the way that tchaikovsky is best remembered for the nutcracker. in other case i doubt this brings the author/composer great pleasure. its the triumph of superficiality.

    my view of language is that it is a tool– and yes, if all you have is a hammer, then everything looks like a nail. except that if we take that to an absurd extreme, just having a hammer will make it impossible to ever learn how to use other tools… nonsense. purest nonsense.

    once you learn how to use other tools, the world doesnt look like its made of nails anymore. i think this is a much more realistic (sane) attitude than the panic-over-nothing that poor little johnny will be forever corrupted by the wrong sort of loop, or something.

    the great flood in a teacup– im glad at least some people are moving on… quickbasic must have addressed most of what dijkstra complained about by the mid 1980s, but throughout the 90s people continued quoting dijkstra from on high, as though we were still on teletypes. so heres one for the future: “soundbites considered harmful.”

    i do think his contributions were of extremely high value– its some of his more overzealous followers that i worry about– still trying to create a language that is impossible to misuse– then realizing it is impossible (because any turing-complete language can be and will be abused) so they go right back to abusing students for being human. it is unnecessary! by all means, raise programming to an art form. but why not do so through an appreciation for beauty and elegance– less often with the equivalent of nuns smacking coders hands with a ruler.

    • SoundEagle 🦅ೋღஜஇ Says:

      Dear dbenn and codeinfig,

      It is very clear that all three of us are very interested in computer programming languages and the extent to which they can determine or influence how and what can be conceived. Please allow me the pleasure of expanding linguistic determinism beyond programming languages to encompass human languages in general, insofar as I have always been highly multidisciplinary and interdisciplinary in my intellectual endeavours and research methodologies, and have endeavoured to learn as much as I can to achieve consilience. These wide-ranging forays of mine have exposed me to many people and ideas.

      On the one hand, being computer programmers and/or software developers often requires one to be “multilingual” in the sense of being proficient in multiple programming languages and tools. On the other hand, being multilingual and multicultural, I have been naturally more sensitive to and cognizant of cultural differences as well as similarities, plus the roles played by languages in different environments and societies. For example, there are compelling reasons for me to be really mindful of the contributions of both (socio)linguistics and translating because together they can reveal the accumulated and collective knowledges as well as the sociocultural and sociohistorical outcomes in all its synergy and diversity that have been imparting depth and richness to humanity (and the human mind) across different cultures.

      Hence, I embrace being consilient and holistic through interdisciplinarity and multidisciplinarity in order to see and understand the parts and the whole through (socio)linguistics, paleohistory, forensic science, social sciences (anthropology, archaeology and sociology) and natural sciences ((ethno)biology, (ethno)botany, (ethno)zoology, palaeontology, geology and so on) as well as behavioural sciences (psychology, psychobiology, anthropology and cognitive science). For example, to fathom the “mystery” of songlines of the Australian aboriginals, one needs to understand the oral history of the Aboriginals through anthropology with a greater emphasis on ethnography and ethnomusicology as well as cultural anthropology, (socio)linguistics and paleohistory, plus archaeology, ethnogeology, ethnobiology, ethnobotany and ethnozoology when necessary.

      The need and importance of seeing and understanding the parts and the whole are also why many of my posts (and certain pages) published in my main blog tend to be very extensive, interdisciplinary, multidisciplinary, encyclopaedic and elaborate in their details.

      Quoting Dyami Millarson and Ken Ho as follows:

      Practically all human tribes and clans developed their own language. These languages are complex puzzles that provide the pieces to create a picture of reality. Languages contain data that help us get an idea about what our ancestors experienced and it also helps us understand what we could potentially experience (hypothetically speaking) as well as how we could efficiently describe our current, past or future experiences. Therefore, all indigenous languages provide us with the pieces we need in order to know the range of experiences that the ancestors of a particular group of people regularly experienced. As we may assume that each language is a simulated reality that is an intentional copy of observed reality, we can safely assume that the language of a tribe or clan – whilst languages do usually not appear overnight but build on many generations of observed reality of immediate experience – is an accurate display of the puzzle of the historical reality that a certain people lived in. Said in a simpler way, a tribal language reflects the environment in which a tribe lived; or said in the simplest way, a language is a people’s memories of experiences a.k.a. history.

      Hence, you can see that “Languages offer you a kind of ‘uncensored’ or ‘unprocessed’ version of history that practically no history book would ever tell you; the way in which languages tell you about history is so much more chaotic, yet so much more informative on so many levels.” Whilst different languages have many similarities (and differences) in syntaxes and grammars, it is very true that they possess very different “sound and feel” as well as “cosmologies”, so to speak, even as/if we take into account the subjective or elastic nature of the meanings and imports of words. In addition, when one adds or super(im)poses linguistic/cultural variations and idiosyncrasies, the results can be unexpected and contingent.

      Unfortunately, many languages are (or in danger of) going extinct as we speak. Therefore, the need to be able to translate and preserve languages has become much more urgent and critical.

      When I was in the social science department (inclusive of anthropology, sociology, criminology and archaeology) of one of my former universities, I voluntarily audited some of Dr John Bradley’s classes to learn the Yanyuwa language, which has been regarded as one of the Ngarna languages of the larger Pama–Nyungan language family. The language belongs to the Yanyuwa people, an Indigenous Australian people of the Northern Territory who reside in the coastal region around the Sir Edward Pellew Group of Islands in the southern Gulf of Carpentaria. In some respects, the language is more complex than English to learn. According to a passage from Wikipedia which also mentions Dr Bradley:

      Many Yanyuwa have also been bilingual in the Garrwa language.[1] The retention of their language as with Garrwa has been attributed to the relative disinterest of colonizing whites in the lands both of these tribes traditionally inhabited.[2] Taking as his starting point an observation by Edward Sapir concerning the Yahi dialect of Yana, who considered the gendered distinction in language use between Yanna men and women as very rare, or not as pervasive as in this dialect, John Bradley showed that in Yanyuwa, the differentiation was at least as structurally thorough as in Yahi. The gendered linguistic difference between liyi-wulu-wu (speech for men) and liyi nhanawaya-wu (speech for women) affected noun classes, verbs and pronouns, and in their creation stories, this distinction was maintained by male and female spirits. Raised predominantly by the women, boys spoke the women’s dialect until initiation, whereupon they were obliged by custom not to speak as if they had breasts and vaginas.[3] Neighbouring tribes, speakers of Marra, Garrwa and Gurdanji consider Yanyuwa difficult precisely for this gendered difference in grammar, whereas the Yanyuwa, conversely, have no difficulty in mastering the latter languages.[4] Two exceptions exist, in ribald talk, and in certain songline cycles where male figures use female speech, though the reason is not known.[5] Bradley’s conclusion is:

      The reasons as to why two distinct dialects for female and male speakers developed are lost in time., This feature has however served to make Yanyuwa a language unique within Aboriginal Australia, if not the world.[6]

      Even when one is proficient in multiple languages, to translate well requires a great deal of knowledge about the materials at hand and the wider, historical contexts from which those materials arise. My most recent foray into translating can be seen in my multidisciplinary post entitled “Strong Wind Knows Tough Grass“, which you can easily locate from the Home page of my blog.

      Speaking of the hidden and often tacit, unspoken nature of culture and space, one could think of Edward T Hall’s books. I happen to own four of his books, namely, The Fourth Dimension in Architecture (1975); The Hidden Dimension (1966); The Silent Language (1973); and Beyond Culture (1976). The first one mentioned is the shortest; and the last one is the longest. What a wonderful writer he has been!

      Happy December to both of you!

      Yours sincerely,

  2. dbenn Says:

    Thanks. I’m glad you enjoyed it. I’ve had some nice comments about this one. I agree with your estimation of Djikstra. He did much for our domain. Most importantly, he made us think twice about things and made important algorithm contributions. As as amateur astronomer, software engineer and lifelong student of computer science, one of my favourite quotes is this:

    Computing Science is no more about computers than astronomy is about telescopes. (Edsger Dijkstra)

  3. A quarter century of Java | Strange Quarks Says:

    […] Programming Languages are tools for thought, for human communication, and not merely a means by which to bend a machine to our will. As I’ve mentioned elsewhere, they can also determine what it is possible for us to think. […]

  4. Anonymous Says:

    Just read this with Karen this morning (I had read it before). Okay, you’ve talked me into seeing the movie, you deep-thinking, silver-tongued devil! Michael D

Leave a Reply

%d bloggers like this: