Language Aptitude Not Math Predicts Programming Skill
Written by Mike James   
Wednesday, 04 March 2020

It is a long held belief that math and programming go hand in hand, but what if this is wrong? New research suggests that it is natural language aptitude that matters.

Programmers have had a tendency towards math since the early days and math ability has been used to predict success at learning programming for a long time. What if the correlation was entirely due to a bias that was introduced because the first programmers were mathematicians. Once math-oriented people got into the discipline they tended to set problems that needed a knowledge of math - is it really so?

The latest researcher is on a small sample, 36 people, but the results are interesting. However, there are some things that don't quite ring true:

"The research described herein is motivated by a conceptual paradigm shift, namely, that learning to use modern programming languages resembles learning a natural language, such as French or Chinese, in adulthood. Specifically, we argue that research on the neurocognitive bases of programming aptitude has largely missed the fact that computer programming languages are designed to resemble the communication structure of the programmer (human languages), an idea that was first formalized by Chomsky over 50 years ago."

Many programmers, including me, would say that this observation indicates a deep misunderstanding of what a programming language is and what programming is. How a programming language could not resemble the communication structure of the programmer is also a very good question.You could also add that mathematics uses a language that is in the same category, which means natural language aptitude should be correlated with math ability.

The programming language chosen for the study was Python and part of the reason is that it is more like a natural language in using indents and not curly brackets for statement grouping and words rather than symbols. The subjects had no previous experience of programming and were asked to complete lessons from Codecademy. Their learning was judged by learning rate based on unit test results, a subjectively rated game and results on a multiple choice test. The predictors used were the Modern Language Aptitude Test, Numeracy and some measures of general cognitive ability. As well as these "traditional" tests an EEG approach was included to add some neuropsychometrics to the study: 

"...participants underwent a five-minute electroencephalography scan, which recorded the electrical activity of their brains as they relaxed with their eyes closed. In previous research, Prat showed that patterns of neural activity while the brain is at rest can predict up to 60% of the variability in the speed with which someone can learn a second language (in that case, French)."

The importance of this is that we have a measure that is correlated with learning a second language. What isn't clear is if this measure is also correlated with mathematical ability.

The results are striking. When it comes to learning rate the language aptitude test predicted most of the differences and when put with the neuropsychometrics left only a small amount of variation to be explained by the numeracy. When it comes to programming accuracy it seems that general cognitive ability matters the most - the smarter you are the more accurate you are. The same is true of passing the multiple choice test with some help from the neuropsychometrics.



So do we have to throw out our long held prejudices and accept the fact that language ability is more important?

I think the answer is no and that a lot more research is needed. The first thing that is obviously not quite right is using numeracy as a measure of math ability. The ability to do arithmetic isn't the same as the ability to work with symbols.

Secondly, the analysis used stepwise regression and clearly picked language aptitude as the best predictor for learning rate. If language aptitude was correlated to a reasonable degree with numeracy, any predictive power it had would have already been used up. This isn't proof that numeracy isn't a good predictor of learning rate. To understand what the position actually is really is needs a full correlation matrix and perhaps a causal analysis.

Then there is the fact that language aptitude only really makes a powerful impact on the learning rate and not accuracy or the final knowledge gained. Could this have something to do with the fact that during learning reading is involved while it is not so important in the other measures. Could it be that as soon as reading is out of the picture, language aptitude is less important?

Perhaps language ability helps you learn generally and not just a programming language.

One thing is very clear - we need a lot more research in this area, raising the question why isn't it being done?

More Information

Relating Natural Language Aptitude to Individual Differences in Learning Programming Languages

Related Articles

Does Math Help Programming Or Programming Help Math?

Deep Teaching

Computational Thinking For Kids

The Real Reason To Learn To Program - The Power

What Makes A Programmer

Programming - A Life Long Challenge

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.



Apache Kafka 2.7 Updates Broker

Apache Kafka, the big data and datastreams platform, has been updated in a new version that the developers say moves closer to replacing ZooKeeper in Kafka with a self-managed metadata quorum.

An Inverted Pendulum for Xmas

This year's holiday robot videos have been a bit predictable, but at last I found one that was interesting - an inverted pendulum balanced by a drone.

More News





or email your comment to:


Last Updated ( Wednesday, 04 March 2020 )