Talk:Sapir–Whorf and programming languages
From Wikipedia, the free encyclopedia
"Most programmers consider this a Good Thing"
While "A Good Thing" is normally one of my favorite phrases to use, I'm not sure it is best to be using culturally/time specific lingo in a encyclopedia entry. I haven't actually edited it, because maybe I'm wrong on this.
note that wikipedia also has a Good Thing article, so it's probably not such a Bad Thing to use the term; future users could always look it up.
"Some programmers find the task of algorithm design largely the same, regardless of the programming language used - and, with the overwhelming dominance"
I suspect that that this is only true for programmers that are only familiar with one programming paradigm.
-
Well I haven't counted how many languages I use and how familiar I am with them. I use at least these regularly:
- Assembler (various kinds)
- C
- C++/Java
- Vhdl
- Verilog
- perl
And I did a lot more (including 2-3 functional languages, prolog, ...)
Still I would argue that "I find the task of algorithm design largely the same".
Actually that is one of the reasons why I have some doubts about the validity of the Sapir-Whorf hypothesis.
The reason why I don't care much about the programming language is, that when I start to think about a solution for an algorithmic or design problem, I *DON'T* think in a programming language; actually I also *DON'T* think in special "concepts" of a concrete programming language. Because I am very aware of the fact that most programming languages are Turing complete, I know that also most concepts can be used in any programming language, even if some are better suited to use some concepts.
Example: Most people would probably argue that JAVA is object orientated, while C is not. The statement in this crude form is unfortunately very imprecise. The strongest thing I can say is that JAVA makes it somewhat easier to use object orientated concepts then C; and of course almost every tutorial about JAVA has something to say about object orientated concepts, while most tutorials about C don't even mention object orientated concepts. On the other hand: I would argue that applying object orientated concepts to a given design problem is a difficult task and it doesn't help AT ALL that someone knows JAVA very well. The question is if a programmer is able to grasp the concepts of object orientation and this process is completely independent of the computer languages you know.
At least for me the process of finding a design/algorithm for a given problem doesn't rely on a "language". In my mind I often hold big structural constructs and when I have to explain them to colleagues for discussion I find that actually translating this structural constructs into a spoken language is far from trivial. So I find that the underlying assumption of the Sapir-Whorf hypothesis, that you can only think about something by putting it into words is simply wrong. I never do it when thinking about a solution to a difficult design problem. I find it tedious to translate the constructs in my mind into actual language.
To make this point even stronger: I think one of the biggest problems of visionaries is that they have to translate their vision into actual spoken language. The big problem here is to convey the idea you have in your mind by using a spoken language. So to me it seems that the idea itself doesn't rely on a certain language; the visionary has it in his/her mind and now tries to translate the concepts in such a way into spoken words, so that another person is then able to translate the spoken words back into the concept. The reason why another person might not be able to understand the visionary is not because the visionary uses a specific language, but because the other person has never thought of a similar concept before. The process of making ones mind grasp a complete new/alien concept is the problem here; not the language...

