"Language skills are a stronger predictor of programming ability than math knowledge" as I have been saying for years

· Mastodon Twitter Crossposter · 12 · 74 · 83

good programming is the practice of communicating ideas clearly in a context where precision is enforced

Show thread

lots of people are QTing this with stuff like "yeah programming languages have grammars etc!" which imo is missing the point. perhaps counterintuitively, the programming skill that matters isn't understanding how to tell a machine what to do in a way that works

Show thread

even mediocre programmers can write a program that RUNS. what distinguishes a skilled programmer isn't how well they talk to the machine, it's how well they talk to the other people who will read/write/use the code

Show thread

this communication is largely done in the medium of code (although design communication and documentation are also vital), but I consider the ability to express ideas in a medium that's not natural language to still essentially be a language skill

Show thread

@nex3 Similarly, any programmer can write a complex application. What requires skill is writing a simple application, and having it still meet the requirements.


Also interesting, as someone learning french:

"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)."

@nex3 "Programming involves creating meaning by stringing symbols together in rule-based ways."

I bet if they studied mathematicians working on proofs they'd see the same language areas firing. Meanwhile the tests they ran to assess math ability likely involved adding things in your head or rotating 2d figures.

@pizza_party knowing a number of working mathematicians, I would say the difference is that there's much less pressure to write proofs in a way that would be considered "maintainable" in the programming world. I agree that the moment-to-moment act of proofwriting is very similar to programming, but a GREAT programmer will focus on the human elements of communication in a way that's not as necessary for math (largely due to the structure of academia)


"If there's nothing different about UNIX people, how come so many were liberal-arts majors?"

"Suddenly the overrepresentation of polyglots, liberal-arts types, and voracious readers in the UNIX community didn't seem so mysterious […]"

"It's the love of words that makes UNIX stand out."

The Elements Of Style: UNIX As Literature, Thomas Scoville, 1998

@nex3 Because the article mystifyingly doesn't even link the paper they're citing, here's a direct link:

@nex3 This paper does say that they tested "numeracy", which is very different from math knowledge.

@nex3 this is stunning to me because I'm garbage at spoken language learning but aggressively autodidactic when it comes to programming
@nex3 that said, I have said this before, but I think my biggest issue with spoken language learning is not being able to immediately put my new knowledge into action and I have to get over that hump of getting myself to actually speak to a native speaker with it and that spikes the shit out of my anxiety

@nex3 while programming certainly isn’t nearly as mathematical as people claim, i don’t think you can extrapolate from “ability to write rock-paper-scissors in python after 4 hours” to “programming ability”

@hierarchon I would certainly love to see a years-long longitudinal study that measures a more holistic notion of programming skill but that seems logistically challenging

@nex3 oh, absolutely, i’m not saying the study is bad. just that the article oversells it, as usual

@nex3 i didn't read the paper, did they control for language aptitudes impact on /understanding the instructional lessons/?

@veer66 indeed. It may not need much math when programming at work.

It just needs when programming on online contest. problems on it sometimes need math skill. 😅

@mayuutann The hardest part of AtCoder is probably comprehending the requirements. 😅

@nex3 This makes a lot of intuitive sense. Programming is communication

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!