Sapir–Whorf and programming languages

Sapir–Whorf and programming languages

The Sapir–Whorf hypothesis is sometimes applied in computer science to postulate that programmers skilled in a certain programming language may not have a (deep) understanding of some concepts of other languages. Though it may equally apply to any area where languages are "synthesized" for specific purposes, computer science is especially fertile when it comes to creating languages.

Computer programmers who are fluent in different programming languages (e.g. C, Prolog, Ruby), and/or programming paradigms (e.g. logical programming, declarative programming, imperative programming, functional programming, object oriented programming), often see the same problem in completely different ways.

One way of stating the Church–Turing thesis is that any language that can simulate a Turing machine can be used to implement any effective algorithm — in this sense, it is irrelevant what language is used to implement a particular algorithm, as that exact algorithm can also be implemented in every other language. However, when "designing" an algorithm to solve a particular problem, programmers are sometimes heavily influenced by the language constructs available. Though a large part of this is undoubtedly the way of least resistance (implement whatever is easiest to implement), there is also an element of "appropriateness" or "naturalness" that seems to compel the programmer to a design that "befits" the language.

This is a similar situation to Feynman's view of physical theories: it is possible for two theories to use completely different concepts and rules but still give identical predictions. However the 'parameterization' of each theory will suggest different possible modifications and experiments to the human physicist who uses it.

Most programmers consider this to be beneficial, and the bewildering multitude of programming languages can be defended with the remark that a new programming language, while not extending the set of all "possible" algorithms, does extend the set of all algorithms we can efficiently think about. A well-known saying by Alan Perlis states that "a language that doesn't affect the way you think about programming is not worth knowing".

This is not universal, however. Programmers familiar with only one paradigm often find the task of algorithm design largely the same, regardless of the programming language used. And, due to the current overwhelming dominance of imperative languages in commercial applications as of 2006, the supposed diversity of programming languages is often a case of slightly different syntax for essentially the same set of programming language constructs. Another famous epigram states that "a good FORTRAN programmer can write FORTRAN code in any language".

External links

* [http://www.cerezo.name/archives/000005.html On the Sapir-Whorf hypothesis and its relation to programming languages]
* [http://www.paulgraham.com/avg.html The Blub Paradox - the inability of programmers skilled in one programming language to recognize a different language as superior]

Bibliography

Wexelblat RL (1980), "The consequences of one's first programming language". URL:"http://portal.acm.org/citation.cfm?id=802823"


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Sapir–Whorf hypothesis — In linguistics, the Sapir–Whorf hypothesis (SWH) (also known as the linguistic relativity hypothesis ) postulates a systematic relationship between the grammatical categories of the language a person speaks and how that person both understands… …   Wikipedia

  • Computer programming — Programming redirects here. For other uses, see Programming (disambiguation). Software development process Activities and steps …   Wikipedia

  • Language and thought — A variety of different authors, theories and fields purport influences between language and thought.Many point out the seemingly common sense realization that upon introspection we seem to think in the language we speak. A number of writers and… …   Wikipedia

  • Constructed language — This article is about the creation of planned or artificial natural languages. For information about the linguistic field of language planning and policy, see language planning. Artificial language redirects here. For non natural languages, see… …   Wikipedia

  • Linguistic relativity — Anthropology Fields Archaeology Biological anthropology Cultural anthropology Linguistic anthropology Social anthropology …   Wikipedia

  • Language — This article is about the properties of language in general. For other uses, see Language (disambiguation). Cuneiform is one of the first known forms of written language, but spoken language is believed to predate writing by tens of thousands of… …   Wikipedia

  • List of University of Chicago people — The following is a list of people affiliated with the University of Chicago, including alumni, current and former faculty members, students, and others. The University of Chicago was founded in 1890 by American industrialist and philanthropist… …   Wikipedia

  • Newspeak — For the programming language, see Newspeak (programming language). Newspeak is a fictional language in George Orwell s novel Nineteen Eighty Four. In the novel, it refers to the deliberately impoverished language promoted by the state. Orwell… …   Wikipedia

  • Noam Chomsky — Chomsky redirects here. For other topics with the same name, see Chomsky (disambiguation). Noam Chomsky Noam Chomsky visiting Vancouver, Canada in 2004 …   Wikipedia

  • List of linguists — Linguistics …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”