Your Brain On Code Isn't Like Your Brain On Language
Written by Mike James   
Wednesday, 16 December 2020

Is this a big surprise? Apparently it is, but I for one have long known that my brain works differently when I am programming. Now, however, I can quote research results, from MIT and Tufts University, to prove I'm right!

There are lots of opinions about programming based on misunderstandings. For example, you speak multiple programming languages so, for you, picking up Spanish should be easy. You're good with natural languages - you should try programming. You don't need a language qualification, you already have Fortran.. and so on.

Programming is nothing like using a natural language and any suggestion that it is, is based on wishful thinking. However, the latest research, from MIT and Tufts University  investigates what the brain actually does when involved in programs:

"Computer programming is a novel cognitive tool that has transformed modern society. What cognitive and neural mechanisms support this skill? Here, we used functional magnetic resonance imaging to investigate two candidate brain systems: the multiple demand (MD) system, typically recruited during math, logic, problem solving, and executive tasks, and the language system, typically recruited during linguistic processing"

What about math, logic and problem solving? Surely all part of programming and so they should use the same parts of the brain?

Two experiments attempted to throw light on the matter. The first involved Python, everyone's favourite text-based language, and the second involved Scratch, a graphical language. While there are deep similarities between text and graphical programming languages there should be some linguistic-based difference. If you have used both Python and Scratch you might have noticed that the experience is very similar - both programming environments seem to tax the same little grey cells in terms of sequencing actions to achieve a result. The difference seems to be much more at the end of the process - in the final expression say. Of course, this is unreliable introspection and so not scientific at all.

If you want to know the details read the paper, but the conclusion is fascinating:

"We found that the MD system exhibited strong bilateral responses to code in both experiments, whereas the language system responded strongly to sentence problems, but weakly or not at all to code problems. Thus, the MD system supports the use of novel cognitive tools even when the input is structurally similar to natural language."

So the MD system is what makes programming programming and not the language centers. Interestingly the activation wasn't equal on both sides of the brain as is the case with logical problems but strongly left hemisphere centered as is language.



This isn't going to change the way we program, but it might help put to rest the idea that programming and natural language ability are strongly linked.

It might also cast some light on the idea that dyslexics can sometimes make good programmers - full disclosure I'm severely dyslexic and a programmer. I do have problems with the text/language parts of programming but this is very superficial and intelligent prompting and spell checking solves nearly all of my problems.

Could this lead to a better way of working out if someone is good potential programming material?

Another point is that it suggests is that we shouldn't be teaching programming till later in the school system. The reason is that natural languages are acquired early while the brain has a plasticity but, if programming isn't linked to language acquisition, then it could be better dealt with later.

There are some limitations of the findings. The biggest is that the experiments involved code comprehension rather than creation. Clearly it would be interesting to find out more about code creation, which my guess would show even more similarity to logic and problem solving.


More Information

Comprehension of computer code relies primarily on domain-general executive brain regions

Anna A Ivanova, Shashank Srikant, Yotaro Sueoka, Hope H Kean, Riva Dhamala, Una-May O'Reilly, Marina U Bers, Evelina Fedorenko.

Related Articles

Programming - A Life Long Challenge

What Makes A Programmer

Does Math Help Programming Or Programming Help Math?

Dyslexia and Programming

Teach Concepts Not Just Code

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



Falco On Track To Version 1.0.0

Falco is a cloud native runtime security tool for the Linux operating system, designed to detect abnormal behavior and warn of potential security threats in real-time. Now it's about to release its fi [ ... ]

AWS Lambda Upgraded To .NET8 Runtime

An upgrade of AWS Lambda to the .NET version 8 runtime
brings major improvements to the platform.

More News

raspberry pi books



or email your comment to:

Last Updated ( Wednesday, 16 December 2020 )