Is learning a programming language like becoming bilingual?

December 17, 2012 at 7:32 am 6 comments

Fascinating question! Bilingual people have some additional executive control. Does learning a programming language give a similar benefit in executive control? The study described below is suggestive but not conclusive. If we could find evidence for it, it would be another benefit of learning to program.

If computer programming languages are languages, then people who spoke one language and could programme to a high standard should be bilingual. Research has suggested that bilingual people perform faster than monolingual people at tasks requiring executive control – that is, tasks involving the ability to pay attention to important information and ignore irrelevant information (for a review of the “robust” evidence for this, see Hilchey & Klein, 2011). So, I set out to find out whether computer programmers were better at these tasks too. It is thought that the bilingual advantage is the result of the effort involved in keeping two languages separate in the brain and deciding which one to use. I noticed that novice computer programmers have difficulty in controlling “transfer” from English to programming languages (e.g. expecting the command “while” to imply continuous checking; see Soloway and Spohrer, 1989), so it seemed plausible that something similar might occur through the learning of programming languages.

via Evidence suggesting that young computer programmers have “bilingual brains” « thecodingbrain.

Entry filed under: Uncategorized. Tags: , , .

Research questions on MOOCs: Who’s talking, who’s completing, and where’s the teaching? This changes things: UK universities in online launch to challenge US

6 Comments Add your own

  • 1. Don Davis (@gnu_don)  |  December 17, 2012 at 9:30 am

    Or – what I frequently wonder – might bilingual students be well suited to learn programming? A study controlling for other factors, that examines bilingual students’ “CS readiness” could be a large boon to boosting support for CS programs for bilingual students, who are often very underserved. (I would posit that worst case scenario – nothing would come of it. However, given the additional cognitive skills that bilingual students have developed, it seems improbable. )

    Such a study could be conducted in multiple parts – perhaps some larger N “CS readiness” test administrations controlling for other factors (e.g. AP class enrollment, etc.). This might be a nice coffee table piece, but really interesting might be more in depth learning analytics and qualitative explorations of a CS class comprised of 100% bilingual students – which could be very feasible in many high schools.

    Reply
  • 2. Don Davis (@gnu_don)  |  December 17, 2012 at 9:43 am

    There is an anecdotal description of this in “Hackers” where Levy directly relates the MIT hackers acquisition of rudimentary Chinese to the programming (and ‘hacking’ (rms style)) process.

    Reply
  • 3. rdm  |  December 17, 2012 at 1:38 pm

    My impression is that the vocabulary involved in computer programming is extremely limited, when contrasted with the vocabulary involved in “natural language”. So I would be surprised if the results for “knowing a programming language” were significantly different from knowledge of any other realm of technical expertise.

    That said, within the context of “tasks involving computer systems” I would expect this issue to become very relevant. And, here, also, I would expect that people with a background in multiple programming languages and environments would also have an advantage. (But I would add a further caveat, based on the “A programming language that doesn’t affect the way you think about programming is not worth learning” quip attributed to Alan Perlis — languages which do not offer significant differences probably are not important here.)

    Reply
  • 4. Mike Byrne  |  December 17, 2012 at 11:44 pm

    Even if someone runs a study that shows that programmers have better executive control (a term I don’t like very much, but that’s secondary), I’d be highly suspicious that this is a selection effect. I’d guess that people who know multiple programming languages are different from the general population in numerous other ways, and unless this were explicitly controlled for, I’d be skeptical. Short version: maybe people who have better executive control in the first place are more likely to learn multiple programming languages…

    Reply
  • 5. aapplin  |  December 21, 2012 at 9:40 am

    This was the subject of my dissertation. I tried to see if learning a programming language was like learning a second language. When you learn a second language, you do a lot of reading in that language. So it turns out that reading well written, well documented code seems to translate into writing better (and better documented) code. I had one set of students writing projects from scratch and the other group was adding to larger programs that I wrote which they had to understand before they added to them. The difference in final exam scores was significant. I’ve tried to make sure that I have students add on to existing well written (well formatted, elegant) code in all of my programming classes since then. It can’t hurt and I think it helps a great deal.

    Reply
  • […] I don’t agree that learning a foreign language is as useful as learning a programming language, especially in terms of increased communication capability (so I wouldn’t see it as equivalent to a foreign language requirement). It is interesting to think about cognitive effects of learning programming that might be similar to the cognitive effects of learning another human language. […]

    Reply

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed


Enter your email address to follow this blog and receive notifications of new posts by email.

Join 11.4K other subscribers

Feeds

Recent Posts

Blog Stats

  • 2,097,023 hits
December 2012
M T W T F S S
 12
3456789
10111213141516
17181920212223
24252627282930
31  

CS Teaching Tips