Email or username:

Password:

Forgot your password?
Yani Bellini Saibene

This research shows that aptitude for learning foreign languages is a stronger predictor of learning to program than basic maths knowledge.

"These results provide a novel framework for understanding programming aptitude, suggesting that the importance of numeracy may be overestimated in modern programming education environments."

Relating Natural Language Aptitude to Individual Differences in Learning Programming Languages. Prat, et.al. nature.com/articles/s41598-020

#TeachingTechTogether

30 comments
MylesRyden

@yabellini

This is sort of backwards to the gist of this paper, but way back when dinosaurs roamed the earth, my university had a foreign language requirement. Computer "language" also met the requirement, so I minored in computer science.

Maybe Northern Arizona University was onto to something back then. 😉

MylesRyden

@yabellini

Of course now, I can only remember 6 words of high school French. But I was able to write a countdown timer webpage and a scraper to make playlists of songs on sites like Paste. 😉

le pido Crocite

@yabellini Haha this is gonna be great citation material to piss off so many techbros!

Yani Bellini Saibene

@geomant yep. Is going to the second edition of teaching tech together :-)

Alan Buxton

@yabellini This is fascinating. Not entirely unrelated: back in the 90's the top dog of the company that gave me my first programming job told me that classical musicians made the best programmers. His argument was to do with aptitude for reading musical notation.

Hen Gymro Heb Wlad

@alanbuxton @yabellini When I started in IT (with a modern languages degree) in the late 80s/early 90s, the industry was expanding rapidly and needed to recruit from a wide range of backgrounds as there weren't enough CS graduates. So there were lots of liberal arts grads and women entering the field. It was only when universities ramped up CS grad production that the tech bros started to fill all the available entry-level roles.

Must admit I miss the intellectual diversity we had back then.

Jeff Grigg

@alanbuxton @yabellini

Over the years, I have met a number of people who say that musical talent correlates with programming. And I've often said that musical notation is a simple programming language — with loops and conditional execution.

I've been considered quite adept at programming, and have devoted my life to it.

But I've always been terrible at music, and hopelessly bad at learning human languages.

So I'm not sure …

🤔

Yani Bellini Saibene

@JeffGrigg @alanbuxton I am sorry but I am not aware of any studies that relate music skills to learning to program.

Jeff Grigg

@yabellini @alanbuxton

Over the years, I've heard a number of people claim that music skills correlate with programming skills.

Here is a discussion of it, with some references to (semi-)related studies:

skeptics.stackexchange.com/que

Charles ☭ H

@yabellini @JeffGrigg @alanbuxton

Has anyone tried?

There's a lot of anecdotes about, but usually people say its because music is a form of applied mathematics, the utility of which is called into question by this new research. However, its also true that (classical) musicians learn many phrases in Italian and a small amount of Italian grammar.

Jeff Grigg

@celesteh @yabellini @alanbuxton

It seems, from what little objective study information I've seen, that "smart people" are generally good at a number of things, typically including, music, computer programming, math, and other things too.

I'm not seeing objective evidence that practicing music or programming will directly make you better at the other.

:blahaj: Why Not Zoidberg? 🦑

@yabellini As one of those ppl who has learned 8 or so programming languages over the years and then barely used them this seems very very logical. "Grammar" and syntax is what you need to learn, not math. And I would argue that has been the case for a very long time.

Hen Gymro Heb Wlad

@WhyNotZoidberg @yabellini Indeed. I suspect the mental capacity and machinery you develop for understanding how different natural languages do very similar things (describing things/actions/properties, tense, case relationships, etc) is very relevant for understanding how different programming languages implement a much smaller set of things (control structures, variables, etc).

Theriac

@yabellini@fosstodon.org
programming languages are called languages for a reason

mathie

@yabellini very interesting - but having read the abstract only, I wonder whether this correlation is a general one for all programming languages or only for Python, which to me is one of the most readable programming languages.

Yani Bellini Saibene

@mathie Andreas Stefik has researched programming language readability

web.cs.unlv.edu/stefika/public

For example, they measured how easily novices could read:

- Several programming languages
- Quorum: the language their team is building
- Randomo: random syntax "designed" by rolling D&D dice

Findings:
- Languages in the C family are as hard for novices to learn to read as a randomly-designed language

- Ruby and Python are significantly easier

- Quorum is easier still

@mathie Andreas Stefik has researched programming language readability

web.cs.unlv.edu/stefika/public

For example, they measured how easily novices could read:

- Several programming languages
- Quorum: the language their team is building
- Randomo: random syntax "designed" by rolling D&D dice

EaterOfSnacks

@yabellini @mathie I'd never heard of Quorum until this. Looks like fun

Latte macchiato :blobcoffee: :ablobcat_longlong:

@yabellini@fosstodon.org Numeracy is basically irrelevant for any modern programming, I'm not really surprised.

Ann Effes

@yabellini Das wundert mich wenig. Mathe als solche wird bei der Programmierung eigentlich kaum gebraucht - so mein Eindruck. Programmiersprachen lernen ist wie die Grammatik einer Sprache lernen, deren Sprecher sehr dumm sind und die schon minimale Fehler mit Schulterzucken quittieren.
Was man aber braucht ist ein logisches Verständnis, insbesondere was Bedingungen *genau* bedeuten, bzw was wann die *wirklich* erfüllt sind .

Yani Bellini Saibene

@Ann_Effes you made me use the translator 😉 , but I got the idea.

Ann Effes

@yabellini Oops, Sorry about that. Here you go:

That doesn't surprise me much. Math as such is hardly needed in programming - so my impression. Learning programming languages is like learning the grammar of a language whose speakers are very stupid and who shrug off even minimal mistakes.
What you do need however is a logical understanding, especially of what conditions *exactly* mean, or when they are *actually* fulfilled.

Duchamp Pérez

@yabellini I have noticed that polyglot programmers also tend to study many natural languages

happyborg

@yabellini oh dear. I was as bad at foreign languages as I was at a programming aptitude test in about 1980.

All those lines of code ago 🤷‍♂️

Jaycie

@yabellini Want to call it Learning to Scale Larry's Wall.

Mike Sperber

@yabellini Is it possible you confused maths and numeracy?

johne

@yabellini Cool, cool, cool. Génial. Geil.

Grant Gould

@yabellini This is simultaneously obviously true and makes me irrationally angry that it's another thing that fucking Dijkstra was right about.

Leonard Ritter

@yabellini math is also a language (many in fact) so don't party too soon.

Go Up