Mon 09-02-2004 01:57 AM
On the Sapir-Whorf hypothesis and its relation to programming languages
What is the Sapir-Whorf hypothesis? Named after the American linguists Edward Sapir and Benjamin Lee Whorf, the hypothesis can be broken down in two principles: linguistic determinism and linguistic relativity. The linguistic determinism principle asserts that language determines the way we think, that is, the grammar, semantics or lexicon in a natural language shape thought. This principle is divided in two groups: strong determinism and weak determinism. In the first case, language and thought are equaled, a variant that almost nobody advocates. However, weak determinism, the well-regarded version of the principle, states that thought may be influenced by language. In the linguistic relativity principle, those who speak different languages perceive and think about the world differently, with particular meanings to words in a language. Other supporters of the hypothesis are the behaviourists and the Neo-Classical literary theorists. To what extend does it hold? Followers of Noam Chomsky, promoting an Universal Grammar and innate linguistic universals, rejected the Sapir-Whorf hypothesis just because it was the other side of the pendulum. A good book reflecting these critics is The Language Instinct, by Steve Pinker. The strong Sapir-Whorf hypothesis does not even stand against some of its consequences: the impossibilities of translations between languages, reformulations in the same language and the verbalization of thought. Some of the key differences of the weak Sapir-Whorf hypothesis are:
- the importance of the social context of language, vg, the different uses of language in different social contexts.
- thought is influenced by language, with no emphasis in the ineluctabilities caused by language.
- language is also influenced by thought.
- In Tzeltal, the general word for EAT is TUN, but it changes depending in what it is eaten: K’UX for beans, LO’ for bananas, WE’ for tortillas and bread, TI’ for meat and chilis, TZ’U’ for sugarcane and UCH’ for corngruel and liquids.
- In Carrier, the general word for beaver is TSA, but a small beaver is a TSAYAZ; a mid-size beaver is a TSATUL; a large beaver is a TSATSUL; a young beaver is a TSACHENISBOO’; an adult male beaver is a TSATA’; a female beaver is a TSA’AT; a mother beaver is a TSADIYA; the foreman beaver is a TSACHO; and the list goes on…
- In Mohawk, the word KA’NIKONRIIO, righteousness, is also used as a word for law, beautiful or good.
- In Mandarin, it is optional to indicate when an event occurred, and couldn’t be included in the verb. And position in the sentence governs interpretation.
- In most Southeast Asian languages, the meaning of a sentence is highly context-dependent.
- In Russian, the verb codifies tense, gender and quantity. Also, there are masculine days of the week (Monday, Tuesday, and Thursday) and feminine days of the week (Wednesday, Friday, and Saturday).
- In Turkish, the verb specify whether the event was witnessed or if it is a rumour.
- Riau Indonesian is an extreme case with no articles, neither inflection or tone, hardly no tense marking and a third person pronoun that is neutral to both gender and number.
- In English, there is no grammatical gender system, unlike most languages.
- In Qechua, there’s no gender and no articles, verbs are totally regular and there are articles to express personal knowledge (-m) or hearsay knowledge (-s), or to tag actions as futile (-ri-), important (-ru-), lamentable (-lla-), unusual (-yku-), performed for someone else’s benefit (-pa-) or for personal benefit (-ku-).
- In German, “a young lady has no sex, while a turnip has… a tree is male, its buds are female, its leaves are neuter; horses are sexless, dogs are male, cats are female… tomcats included“, Mark Twain, “A Tramp Abroad”.
- In Spanish, there are two words for corner, “esquina” and “rincón”, depending on whether the speaker is on the big or small angle of the two intersecting lines.
- The name for the sun is feminine in German(Sonnenschein), masculine in Spanish (sol), and neuter in Russian. The name for the moon is feminine in Spanish(luna) and Russian, but masculine in German(Mond).
- The word for key in German(Türschlüssel) is masculine, so German speakers think of them as hard, heavy, jagged, metal, serrated and useful; but key is feminine in Spanish(llave), so Spanish speakers describe them as golden, intricate, little, lovely, shiny and tiny. Also, the word for bridge in German(Brückle) is feminine, so German speakers describe bridges as beautiful, elegant, fragile, peaceful, pretty and slender; but bridges are masculine in Spanish(puente), so they are big, dangerous, long, strong, sturdy and towering.
| 1954 | 1980 | 1995 | 2003 | |||||
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
- Imperative/object oriented: designed around the von Neumann architecture, in which the CPU is separate from the memory and data and programs are stored in the same memory. Therefore, instructions and data are carried from memory to the CPU, and the results are moved back to memory. Thus, the main feature of imperative languages are variables –memory-, with assignment statements –pipe from/to memory- and the iterative form of repetition, with instructions stored in adjacent memory cells, discouraging the use of recursion for repetition. Examples are Fortran, C, Basic, Ada, Smalltalk, C++, Java, Eiffel, …
- Functional: a more mathematical form of programming, the functional paradigm is based on the application of functions to parameters, without variables, assignments and iteration. Therefore, repetition must be done by recursion, there is no state in the sense of operational and denotational semantics and there are no side effects. Examples are LISP, Common Lisp, Caml, Scheme, ML, Haskell, …
- Logic: syntax and semantics are a total departure from the imperative and functional paradigm. Declarative, the code are specifications of the desired results, a form of symbolic logic on which logical inferencing algorithms are applied. Examples are Prolog, Parlog, Tempo, Mozart, Mercury, Gödel, …
- impossibilities of translations between languages: some high level language constructs cannot be expressed in other languages, like concurrency, process communication and synchronization, continuations, real-time keywords, etc… To use them, they will need external libraries programmed in low-level languages, which are not part of the original language.
- impossibilities of reformulations in the same language: as with translations between languages, the same keywords will not have equivalent ways to express the same computation.
- verbalization of thought: programming languages are tools used to create programs, and as tools, their limitations bound the programmer expressability and creativity.








