3 ms·
So do you think that "speaking" multiple computer languages counts the same as speaking multiple spoken languages, in terms of mental fitness and the other bene
by bmohlenhoff 15y ago
So do you think that "speaking" multiple computer languages counts the same as speaking multiple spoken languages, in terms of mental fitness and the other benefits outlined by this study? Obviously something like C++ isn't as complicated as something like Japanese, but still I wonder if programming-related skills like the ability to work concurrently at multiple levels of abstraction also prevent cognitive decline.
- wccrawford 15y agoWhen you're programming in Ruby, do you mentally shift into Ruby mode, or do you translate everything from English into Ruby? Bilinguals don't translate from 1 language to another, they actually think in that language while using it, to the point that you can actually see attitude changes based on which language they are using. I know I don't think in code, but rather translate it from English into whatever programming language I'm using.
- lemming 15y agoI know I don't think in code, but rather translate it from English into whatever programming language I'm using. Really? I think the only time I do this is when something is sufficiently tricky that I probably have to draw it to work out what it should be doing ("Ok, so I pass this in here, and then it could flow through to here or here..."). Otherwise, assuming I'm sufficiently fluent in the language I'm programming in it just "flows" out, as when I'm speaking in Spanish (a second language I speak well) - there's no intermediate translation from English in either case.
- wccrawford 15y agoInteresting. I've been disturbed by my inability to stop translating when trying to understand and speak Japanese, but I've also noticed I'm not as bothered by translating as most people seem to be. (Maybe it's a perfectly acceptable trade-off, if it happens fast enough. Or maybe I'm just not there yet.) Coding is the same way... I think "I'll loop over that" and then proceed to write out how to do it in whatever programming language I'm working with. Sometimes I even write comments in English and then go back and fill in the code that does what the comments want.
- nebaneba 15y ago> (Maybe it's a perfectly acceptable trade-off, if it happens fast enough. Or maybe I'm just not there yet.) You are not there yet. Here's why. In pre-fluency stages of language acquisition, the taxing part of language parsing is memory retrieval, iow, mapping meaning from language A to language B. If you are well-versed at this, it can happen sufficiently quickly. For example, "a machine with four wheels that brings people places" --> car. After enough practice, you "bypass" the "machine" and retrieve "car" without consciously looking up the word. Imagining that happening for every single word, and every single sentence construction. That's when you're "there". As for coding, there is an easy example: iterative looping vs. map/reduce operations. These can express the logic but are conceptually different: one is to repeatedly track states across some number of times, the other is to apply a transformation function to a set of items. To reuse the car analogy, a looped factory would be like taking parts and assemble 100 cars, and a map factory would be like taking parts and assembling all the wheels, then all the engines, then all the doors and so on.
- binarycheese 15y agoFor the most part, I usually think in pseudo-code
- frooxie 15y ago"Bilinguals /.../ actually think in that language while using it" I don't. I usually don't think in language at all. Both speaking my native language and programming require translation from the abstract symbols and feelings that my actual thinking consists of.
- true_religion 15y agoI think in code. I used to think in C because it was the first language I truly immersed myself in. Now aday with object oriented languages, I find myself thinking in Smalltalk first then translating the concepts to the given language.
- hzay 15y ago"Bilinguals don't translate from 1 language to another... based on which language they are using." Absolutely agree! I keep telling my friends (who are forever translating between English and their native tongues) and my father (who is a professional translator) that it is not always possible to translate accurately because languages are deeply rooted in the culture/habits of the people who use them. I'm bilingual and I find that sentences spring to my mind in the language that I've been using in the last week. I speak my native tongue in my parents' home and English everywhere else. I stay for a week in my parents' home once every four months. However, sentences do not always spring to my mind. I think more in images and senses than in language.
- hzay 15y agoI'm new to HN and curious. Why was this comment downvoted?
- lemming 15y ago...I wonder if programming-related skills like the ability to work concurrently at multiple levels of abstraction also prevent cognitive decline. Almost certainly. I don't have a reference but I remember reading an article about a couple who were both neurologists. They were both in their 60s IIRC, and they each took on a new arbitrary hobby each year to exercise their brains. It could be anything, as long as it required a non-trivial amount of concentration and mental effort. I'll see if I can dig the article up, it was really interesting.
- simias 15y agoAs someone whose native language is not english and is actively learning russian, I do experience the same kind of feelings when having to deal with both natural and programing languages. When writing C, I don't feel like I'm "translating English into C" as somebody else said, rather I "think" in C: in pointers, in functions, in arrays, in structs... Likewise right now I'm not translating my native language into English, I just think and write in English. I also experiment the same kind of frustration when I have to write something in a language I don't know well (be it Python or Russian). I don't know the vocabulary, I have to look up everything on the web all the time to find out what's the right way to express something. Some parts of the grammar seem backwards and you try to say things in one language the way you would say them in an other, and it ends up in a complete mess (and often, you blame the language, see that "C is better than C++" thread that was on the frontpage earlier). That being said, it's pretty obvious that learning a programming language (even something as big as C++) is orders of magnitude simpler than learning a foreign language, so I would not say that knowing Python and Prolog is nearly comparable (or as big an achievement) to knowing Japanese and Arabic. On the other hand, we use programing languages to solve complex problems that always require some mental effort when speaking a language becomes completely natural once you're sufficiently fluent, so I suppose both may be beneficial to the brain in the long term.