15 ms·
The language brain matters more for programming than the math brain? (2020)
- Qem 1y agoI wonder if this finding hold across programming languages. I suspect the conclusions would be different for people programming in APL instead of Python, for example.
- floxy 1y agoAnd/or application domain. Lower level programming might lean more on the math side? Wasn't the modulus operator a common complaint about fizz-buzz?
- codr7 1y agoLow level requires more discipline, similar to math, that's about it.
- Jensson 1y agoMath doesn't require discipline though, many learn and do math without much discipline.
- Qem 1y agoIt surely helps. Take for example History, if I space out for whatever reason in the class and botch my examination on the Aztecs, that doesn't preclude me doing great in the classes about the Roman empire. History is like a sparse suburb, where a single house catching fire does not necessarily propagate and destroy the others. On the other side Math its like a skyscrapper, one floor build upon the other. If someone living in a lower floor botches a home renovation in his unit and damages a pillar, it risks taking down the whole building. In math if you botch a prerequisite, you'll ending messing your learning of subsequent concepts 95% of the time. So it is more unforgiving to people with problems like ADHD, that struggle to keep unbroken focus and discipline.
- codr7 1y agoSure does for me, a thousand rules to follow.
- graemep 1y agoI was thinking about whether it would vary with task, but I think you have a good point and it would vary even more with the language.
- jimbokun 1y agoI would take the other side of the bet.
- jp57 1y agoAfter I started my PhD program in CS/AI (late 90's), one of the faculty told me that the GRE verbal score was thing on the application most predictive of student success in the program. Of course, most applicants had perfect or near perfect GRE math scores, so there was no predictive power there. But the application also included the GRE subject test, transcripts, and letters of recommendation.
- georgeburdell 1y agoThe GRE math bar for excellence was quite low and so a perfect score was only the 92nd percentile or so. It’s not surprising that other metrics correlated better with success
- philipkglass 1y agoI also seem to recall from The Making of the Atomic Bomb that the theoretical physicists of the era were noted as having the highest verbal intelligence of any group of scientists. That struck me since I would not have expected it. EDIT: I found the quote, from chapter 6: Psychometricians have closely questioned American scientists of this first modern generation, curious to know what kind of men they were—there were few women among them—and from what backgrounds they emerged. Small liberal arts colleges in the Middle West and on the Pacific coast, one study found, were most productive of scientists then (by contrast, New England in the same period excelled at the manufacture of lawyers). ... Theoretical physicists averaged the highest verbal IQs among all scientists studied, clustering around 170, almost 20 percent higher than the experimentalists. Theoreticians also averaged the highest spatial IQs, experimentalists ranking second.
- swayvil 1y agoMath is a subset of language, surely.
- kanbankaren 1y agoProbably true. Math used to be written in prose style before we invented symbols to compress the prose. Most of the symbols are very recent just in the last 200 years or so.
- klipt 1y agoSome types of math benefit a lot from visual reasoning. Like geometry.
- ducttapecrown 1y agoGeometry only benefits from visual reasoning in 3d and lower, and there are a lot of dimensions above that! You can see visual reasoning as a little cheat computation, you can run math problems through your sense-determining brain, which is what brains are really good at (robots struggle with our levels of dexterity). But the fact remains that you can only visualize in low dimensions, and there are infinitely many dimensions. Note: You can reduce many problems to 3d, but also many problems in 3d have configuration spaces with much higher dimension, so there's some nuance.
- bell-cot 1y agoIt's easily argued that languages are subsets of math.
- del_operator 1y agoLeft as an exercise for the reader.
- ulbu 1y agoand both are instances / processes of symbolic composition.
- DiscourseFan 1y ago
- jboggan 1y agoI have found a fairly interesting correlation between people who are good at learning programming and people who are good at English spelling bees. Something about holding a lot of anecdotes and esoteric rule exceptions when performing an otherwise algorithmic process.
- QuercusMax 1y agoMakes sense to me; I've always been a naturally good English speller. My brain just knows how to store and retrieve this type of data, which has a high correlation with e.g. CLI interfaces and their idiosyncratic command structures.
- nemosaltat 1y agoI can’t decide if you’ve cheekily included the classic homophonic there-error. This isn’t technically an issue with English spelling, but I think you intended to communicate that CLI interfaces have idiosyncratic command structures, not that they are idiosyncratic structures themselves. If I’ve been taken in by pedant-bait, I apologize.
- QuercusMax 1y agoLol, nope, just a case of my fingers deciding they know what I'm typing, or possibly autocorrect "fixing" something that was already correct. (I don't know why but the Android GBoard has been introducing crazy numbers of wrong homophones recently.)
- deeThrow94 1y agoI'm a terrible speller; it's taken me ten years of typing "ammend" to learn its proper spelling. It also sort of goes against the "programmers are lazy" meme: why memorize what a computer can detect and correct?
- FjordWarden 1y agoAre you a teacher and/or someone that runs spelling bees or otherwise someone that has done the proper statistics to distinguish this correlation with generalised intelligence. Just wondering where you get this anecdata from?
- QuercusMax 1y agoThis totally makes sense to me. I've always been a very good / fast reader, which has been incredibly useful in my programming career. I had a good SAT math score (710) but got a perfect score (800) on the SAT verbal (in the late 90s). I remember when I first started working on my Master's project on wireless sensor networks, my advisor sat me down and said "I think I know a good project for you. I want you to print out the source code for TinyOS, study it for a week, and come back to me when you think you know enough to make these changes." This was a sort of formative experience for me, and ever since when joining a new project I made sure to take the time to read through the code to understand how things fit together.
- alabastervlog 1y agoEarly, strong reader here. Off-the-charts spatial reasoning, as measured by tests. Terrible at math, I hate it and feel dyslexic trying to read most mathematical writing. I excelled at it in elementary school, then quickly came to feel frustratingly stupid at it as it became less about algorithms (more on that in a bit...) and all about equations and abstract stuff with unknown applications. However, programming was natural and easy to pick up. I've repeatedly had to take more time convincing myself I actually understand some supposedly "hard" thing, like pointers or recursion, than it took to learn them in the first place, because they were in fact very easy to understand so I kept second-guessing myself—"I must not get it, because that was easy". I've been the go-to guy for "hard" and "low-level" problems basically everywhere I've worked. What I've noticed is that when I must read math, the only way I can get any headway is to turn everything into steps, through which some example values may pass and affect one another. I have to turn it all into algorithms. Algorithms, I can get. Attempts to express meaning through equations and proofs, no, I have to painstakingly turn every single boundary between every symbol into a step and "walk through" it to have any hope of understanding it, and once I do, this new understanding only barely illuminates the original representation. I think programming clicked for me because, as typically encountered and taught, it's very heavy on algorithms and very light on other varieties of mathematical presentation. Plus, having so very much more context available about what variables represent and what routines do, than a jumble of letters and symbols. FFS, if we say Perl is line noise, what's mathematical writing? Straight gibberish from a brain-wrecked Cthulhu cultist? Perl's the clearest thing in the world by comparison! ... where I do run into trouble is languages with "mathy" syntax, where the idiomatic style favors single-letter variables and accomplishing-things-by-asserting-equality. I can't read Haskell to save my life. Put the same supposedly-tricky concepts (monads, type classes) in any more-ordinary language, and it's easy, but when I tried to learn them using Haskell, I couldn't get anywhere at all. Shit, it takes me forever just to understand fizzbuzz-level programs written in Haskell.
- abraxas 1y agoThis mirrors my personal experience. My writing skills have been above average and my parents' presumption was that I would pursue some humanistic studies. I ended up studying software engineering and made a career out of it of almost three decades and counting. Meanwhile my wife who always had a "math brain" has struggled to learn to program at a decent competency level.
- paride5745 1y agoInterestingly, I became better at learning human languages after learning a couple of programming languages. I was good at math at the beginning. I guess programming kinda bridged the gap.
- p0nce 1y agoProgramming education should have more humanities such as writing, sociology, epistemology and design, and not nearly as much maths.
- Jtsummers 1y agoHow much math is in a typical CS program these days? Calc 1-3 (maybe 3, varied by school), Linear Algebra, Statistics (inconsistent across programs), Discrete were pretty much it when I was in school 25+ years or so ago. That's only 4-6 courses depending on the university, though some where the CS dept was more strongly associated with an engineering college might have added Diff Eq and others. (I got interested in CS education and reviewed a lot of curricula in the US at the time, this is from memory.) Some schools like MIT might have required more, but on average what I wrote was about it. Has it increased since then? Based on the new hires I've seen the last decade I'd have guessed the math requirements were mostly the same.
- deeThrow94 1y agoI'd argue none of that math is really necessary. While I have used most of my classes at least once, it was never a barrier to advancement in my career. Hell you could say the same thing about any of the theory. Like yea it's cool I know what a "merkle tree" is but it ultimately is a distraction from most of the skills you need to work with git. Anyway, both computation and math are grouped under "apriori" knowledge. Any semantic distinction is ultimately silly. But we could just as easily be teaching programming as a craft in the context of the real world—I think this is closer to how it's done outside the US. I am not at all convinced the American style is what people ought to be paying for.
- tjpnz 1y agoWhen I did my CS degree in New Zealand there were just two mandatory maths papers - statistics and discrete mathematics. Would be wrong to say I didn't get anything from them - but I'm not fumbling around truth tables or poisson distributions all that often either. Everything else was pretty standard: intro to programming, DSA, low level programming, compilers and networks. What I do find kind of mind blowing is comparing my lectures with the ones from MIT and CM (on YouTube) where they can't go more than a few seconds without jumping into math. Ultimately I'm left unconvinced I was deprived of anything important as a typical software engineer.
- canjobear 1y agoThis makes sense for my path to math. In high school I was bad at math and good at learning languages. Then I started learning Python and realized that it was just like learning a language. Then at some point I realized math notation was just another language for expressing the kinds of things you could express in Python. Now I'm in a job where I do math every day and I read math textbooks for fun. It helped that Python was meant to resemble natural language. I had learned C++ and Perl before but they never stuck, because I never made the connection to language. Ironically, since Perl was designed by a linguist!
- odyssey7 1y agoAnd yet CS grad programs seem to care about only the math section of the GRE
- ivape 1y agoSocietally we made that association, so it's not the programs fault, they simply live the same world we live in. Kurt Vonnegut: See, I came up through a chemistry department. Charlie Rose: Yeah, right. Kurt Vonnegut: And so I wrote and there was nobody there to tell me whether it was any good or not. I was just making my soul grow, writing stories. There's some stuff about his opinion on training for writing that could be relevant: https://charlierose.com/videos/25437 https://charlierose.com/videos/25437 I don't think it's fair to attribute anything to anything. Stuff comes from all over the place. In other words, attributing programming prowess to math was a mistake, and we are making the same mistake again attributing it to language. --- Just one more: Kurt Vonnegut: --consider himself in competition with a world's champion. And this is one reason good writers are unlikely to come from an English Department. It's because the English Department teaches you good taste too early. I think his main point is when we put something on a pedestal, we actually limit people, whether that be math or language.
- latexr 1y agoVideo isn’t loading for me. But from the still frame of the preview, it seems to be this one on YouTube: https://www.youtube.com/watch?v=ROyr83rib3Q https://www.youtube.com/watch?v=ROyr83rib3Q
- odyssey7 1y agoMaybe they didn’t invent the problem, but the admissions priorities are theirs to repair
- contravariant 1y agoLearning mathematics is likely to benefit more from whatever a language brain is as opposed to whatever a math brain is.
- divbzero 1y agoSo maybe it makes sense that LLMs do okay at programming even though they lack the ability to reason?
- 77pt77 1y agoThey don't do okay. Quite on the contrary. My experience is that they spit out reasonably looking solutions but then they don't even parse/compile. They are OK to create small spinets of code and completion. Anything past that they suck. It's actually hilarious that AI "solved" bullshiting and and artistic fields much better and faster than say reasoning fields like math or programming. It's the supreme irony. Even 5 years ago the status quo was saying artistic fields were completely safe from the AI apocalypse.
- NickM 1y agoI disagree that the current generation of AI has "solved" artistic fields any more than it's solved math or programming. Just as an LLM may be good at spitting out code that looks plausible but fails to work, diffusion models are good at spitting out art that looks shiny but is lacking in any real creativity or artistic expression.
- 77pt77 1y ago> "looks shiny but is lacking in any real creativity or artistic expression." My experience with that is that artistic milieus now sometimes even explicitly admit that the difference is who created the art. "Human that suffered and created something" => high quality art "The exact same thing but by a machine" => soulless claptrap It's not about the end result. A lot could be written about this but it's completely socially unacceptable. Whether an analogous thing will happen with beautiful mathematical proofs or physical theories remains to be seen. I for one am curious, but as far as art is concerned, in my view it's done.
- NickM 1y agoTruly great art, the kind that expands the field of artistry and makes people think, requires creativity; if you make something that's just a rehashing of existing art, that's not truly creative, it's boring and derivative. This has nothing to do with whether a human or AI created the art, and I don't think it's controversial to say that AI-generated art is derivative; the models are literally trained to mimic existing artwork.
- deeThrow94 1y ago100% agree, I've been saying this for years. I'm terrible with arithmetic but great with symbols and relations. Recursion is also fundamentally linguistic, and although our internal "stacks" for processing it naturally are quite small, language remains the easiest demonstration of recursion in our daily lives. Oddly, I also use spatial intuition when thinking about stuff like stacks and the shape of data structures.
- karmakaze 1y ago> Recursion is also fundamentally linguistic You sure about that? How about inductive proofs? I would just say that language is more familiar to most. Mathematics are also languages, but more formal and foreign to most.
- deeThrow94 1y agoHow do you communicate an inductive proof without language? Even formal symbolic logic is fundamentally linguistic.
- DiscourseFan 1y agoRecursion itself is simply a conjecture. Nothing fundamental about it unless you believe Chomsky, but his is a speculative claim, not empirical per se.
- deeThrow94 1y agoI don't really know what you mean by "conjecture", but I thought apriori was implied by positing it as a linguistic construct. "Fundamental" doesn't imply empiricism at all. All of apriori knowledge for a language is a set of all sets of coherent statements: the outer set represents a set of implied axioms required to make the statements cohere. Recursion just broadens the complexity of the statements you can express, but it's fundamentally a concept that arises from language and can be evaluated for coherency (like all other apriori concepts). Edit: added a definition of apriori knowledge. Edit2: to put this another way, nobody is arguing that recursion doesn't exist. Or that it is empirically-derived. No, it's a useful construct to show certain relations. Edit3: added a sentence Edit4: The extent to which our own grammars are inherently recursive vs this being culture or technology is irrelevant to identifying the concept of recursion as an apriori, linguistic concept. Edit5: i suppose you might also be referring to the idea that we naturally process recursion. I mean, we clearly, evidently do; whether or not that's inherent to being human is a separate question entirely. Hell in the free software world there's a whole recursive acronym meme that taps into some part of our brain and tickles it.
- karmakaze 1y agoThis says more about our programming languages than it does about the brain. I've always wondered why FP isn't more popular. I concluded it's because most folks don't like thinking like abstract math.
- deeThrow94 1y agoI can't speak for other forms of FP, but symbol operators make communicating about haskell very annoying. Outside of that FP seems to be doing fine, IMO.
- karmakaze 1y agoTry APL, you'll be begging for FP.
- deeThrow94 1y agoTo be clear, the symbols themselves don't bother me so much as trying to refer to them in spoken english. I have no particular beef with the use of symbols in code, which can be quite readable.
- armchairhacker 1y agoGood code doesn’t just solve a problem, it solves it in a way that’s readable and modular. I think the problem-solving part of coding requires math skills, while the organization part requires writing skills. The organization part affects the problem-solving part, because if you write messy code (that you can’t reread once you forget or extend without rewriting) you’ll quickly get overwhelmed. Writing large math proofs also requires organization skills, since you’ll refer to earlier sections of your proof and may have to modify it when you encounter issues. But to me, math seems to have more “big steps”: sudden insights that can’t be derived from writing (“how did you discover this?”), and concepts that are intrinsically complicated so one can’t really explain them no matter how well they can write. Whereas programming has more “small steps”: even someone who’s not smart (but has grit) can write an impressive program, if they write one component at a time and there aren’t too many components that rely on each other.
- QuercusMax 1y agoMost coding doesn't need much of any math past boolean logic and very basic set operations. I'm much more likely to spend my time studying DB and interface schemas to understand how something works than doing a lot of mathy fiddling. Sure, some people write game engines and such, but even much of 3D graphics doesn't need anything more complicated than the first half of a linear algebra course.
- ajuc 1y agoThe difficulty is in how many relationships you need to keep in mind, not in how hard each of them are. Just like in math. BTW relational DBs are math.
- RHSeeger 1y ago> BTW relational DBs are math. It's funny, reading the post you're replying to, I basically read it as > I don't need math, I need <math, but by another name> My teenage daughter used to complain about math, and I spent some time trying to explain to her that we use math every day... EVERY day. Now, when I see her do something that was math (even if it's not obvious it was math), I say "Math... every day". I say that a lot. Also, yes, my daughter finds me annoying. But also funny; but likely not for the math thing.
- flkiwi 1y agoI tell people all the time that the single greatest tool an aspiring lawyer can have is a background with programming, as the analytical and algorithmic mindset is FAR more important than being "good at public speaking" or any of the other base skills often cited as desirable for lawyers. I've also said the second greatest tool an aspiring lawyer can have (in my personal opinion) is a significant background in foreign language learning, as that is a skill that is closely related to programming, though a bit abstracted and coming from a different angle. I'm going to see if I can use this article to support that.
- rowanG077 1y agoThe article is extremely misleading, I dare even say almost malignant. The study itself claims: - fluid reasoning and working-memory capacity explained 34% - language aptitude (17%) - resting-state EEG power in beta and low-gamma bands (10%) - numeracy (2%) They take math skills to equal numeracy. The study itself implies this too. I disagree on a fundamental level with that. Math skills align much more closely to fluid reasoning than to numeracy.
- del_operator 1y agoThis is largely true, but also, the dynamic shifts depending on how learners engage with peers as they move from understanding to synthesis. In small peer groups (“pods”) that debug and learn together, communication becomes a core skill—and that can actually change how math skills are applied and developed. Language doesn’t just support learning; it reshapes the process.
- matt3210 1y agoYou guys have more than one brain?
- casey2 1y agoFor learning a programming environment* This has the effect of making programming easier, but don't confuse it.
- scotty79 1y agoI feel like I'm using language part of the brain for almost everything. My performance at any task (except purely manual and automatic ones) drops to 0-15% when I can hear someone talking. Alternatively if I manage to focus on the task I immediately stop understanding what's being said.
- shadowgovt 1y agoYou know where we got a lot of really solid programmers before we had formal computer science degrees? English majors.
- ulrischa 1y agoThe best programmers were good in Latin at school
- roopekangas 1y agoIf you grew up where it was in the curriculum ;)
- eximius 1y agoI'm very curious what this math pretest looked like, whether it was "proper" high level math or, like, computing some trig problems. Folks who have aptitude with algebra or number theory or topology, I'd expect that to be correlated, but not to rote computational math.
- deleted 1y ago[deleted]
- gowld 1y agoIt was arithmetic. The study is n=42 p-hacking nothingness, and then a highly misleading misinterpretation by the junk popsci website.
- mtmickush 1y agoI don't find this too surprising. The study itself was primarily just testing a students ability to identify syntax and remember what various functions do. I wouldn't expect math proficiency to help much in this area vs I would very much expect language to. It'd be interesting to see correlations (language brain vs math brain) for how easy or hard it is for people to solve new problems with language after they already know the basics.
- adamc 1y agoStrangely (I was a math major as an undergrad), I never doubted this. It just feels more like writing.
- makk 1y agoThose long held assumptions were held by people who aren't professional programmers, right? Because, if you do what we do, it's obvious that language > math for most of this stuff. I'd go so far as to say that music > math for programming.
- shayneo 1y agoAs a self taught programmer with a Communication Studies degree, this definitely resonates. The ability to articulate the problem in code is kind of the starting point for most productive development work.
- 77pt77 1y agoAny experienced programmer will be able to tell what kind of person another programmer is just by the way they write their code. Code written by programmers with humanities backgrounds is easily identifiable as being of bad quality. Kind of like vibe coding meets programming by accident, before vibe coding was really a term. It's a faux pas to even mention this IRL, but good coders know what's up. Those "coders" usually get promoted to people managers, which is usually what they want anyway because their self-worth relies on abusing others to mitigate the correct self-perception they have of being "inferior". The problem is, things need to be solved and vibe+accident programming can only go so far. But fear not, they can always scapegoat whoever solves the problems, because if they were not to blame, how could they know what was up or even feel the need to correct it?
- daedrdev 1y agoThis is a high level of bias and generalization about an enormous group of people with varied backgrounds and experiences, not to mention selection bias as you don't know many good coders backgrounds who may in fact be from humanities. Even if many of the bad coders are those who were in humanities and don't have coding experience because they just entered the field (because once you get it you are no longer a humanities background)
- taeric 1y agoI'm strong in the belief that kids having lower reading scores is directly related to lower math scores. Learning to decode words is directly translatable to learning to decode equations. Down to some of my favorite math passages would include how to read something as it introduces a symbol or other construct.
- linguae 1y ago(2020) As a new computer science professor at a community college, this is a timely article for me that may end up influencing how I teach, especially my introductory programming course as well as my discrete mathematics course.
- darkerside 1y agoCouldn't this difference be explained by the fact that the lessons were in English? If your language skills are poor, it's going to be hard to read the directions. You'll definitely be slower, which was the primary finding around language. That side, I wonder if early programming was much more math heavy, and higher level languages have successively reduced that need over time.
- jll29 1y agoThere is no such thing as a "language brain" or a "math brain" unless you show experimentally that those bunch of neurons can be grouped into two non-overlapping regions dedicated to "language" and "mathematics". Mathematics itself is a human-made formal language that can be bootstrapped from definitions and axioms of logics and set theory, which have to be given in human language first. Experienced mathematicians read formal theorems written in Greek letters off their blackboards as if it was normal English, suggesting they think about it like it was just normal English. This is not to say they cannot also view in front of their mental eye visual representations isomorphic with that language if they chose to.
- reverendsteveii 1y agoDyscalculia, dysgraphia and dyslexia can all present independent of one another, heavily implying that different processes govern math, reading and writing. To call them "language brain" and "math brain" is simply a useful fiction, whether they're actually separate piles of meat is irrelevant.
- danielmarkbruce 1y agomath != calculation. It's an actively stupid fiction for people who don't understand what math is.
- radlad 1y ago> It's an actively stupid fiction for people who don't understand what math is. This comes off quite judgmental, and doesn't help me understand your actual point. Could you elaborate on the differences, as you see them?
- tylerhou 1y agoIn higher math (typically 2nd year and onwards at US universities) there is fairly little explicit calculation, and math is more about studying the (formal) relationships between mathematical objects. For example, we can abstractly define topological spaces and abstractly define algebraic “groups,” and algebraic topology studies the relationships between topological spaces and algebraic groups. This is somewhat like having a “data type” defined by some library, examining ways it can be transformed into data types defined by some other library, and studying what invariants hold under those transformations. In some sense, an undergraduate math education is akin to learning the “standard library” (in the software engineering sense) of higher mathematics. Most courses start with basic abstractions of some mathematical object and repeatedly construct more and more abstractions on top of those. The structure of those abstractions is similar to how you might build a library. A professional mathematician is expected to be fluent in the mathematical standard library, just like how you might expect an experienced software engineer to be fluent in Python’s standard library. If this analogy is true, people who can learn Python relatively quickly might be able to also learn higher mathematics relatively quickly under the right pedagogical environment.
- CobrastanJorji 1y agoMakes sense to me. "Language" is an oft-forgotten part of "programming language." I'm sure math skills probably would better predict, say, ability to do well in advanced theory classes, but programming doesn't require that. It DOES require learning a specialized language.
- RHSeeger 1y ago> It DOES require learning a specialized language. Which... is what math is, too.
- qwerty456127 1y agoThis sounds obvious. To me it seems the majority of developers hardly use any math.
- fjfaase 1y agoI did not read any mentioning of testing non-verbal IQ. Many math skills also depend on verbal IQ. Verbal IQ correlates strongly with academic performance and probably also with learning new programming languages. I personally have a much stronger non-verbal IQ than a verbal IQ. Often when I think about algorithms, it is all about abstract blocks moving around even before I have written a single line of code. I usually see multiple solutions in my head and often find myself being stuck because I cannot make a choice. I always takes some effort to code the solutions and weed out stupid bugs due to spelling errors mixing up varisbles, but then things work correctly.
- hunkins 1y agoInteresting. I grew up most of my life overseas learning various different languages. Anecdotal, but most of the best coders I know are talented writers and often are multi-lingual.
- janalsncm 1y ago> language ability and problem solving skills First red flag is here. The title rewrote this to be language only. That problem solving skills are relevant is pretty obvious, but language less so. I’ve been programming for most of my life and I don’t consider myself a very good speaker. My language skills are passable. And learning new languages? Forget it. So I’m skeptical. Let’s look at the study. First of all, “math” becomes “numeracy”. But I think programming is probably closer to algebra, but even then it’s less strict and easier to debug. > Assessed using a Rasch-Based Nuemracy Scale which was created by evaluating 18 numeracy questions across multiple measures and determining the 8 most predictive items. Also, the whole thing is 5 years old now.
- deeThrow94 1y ago> That problem solving skills are relevant is pretty obvious, but language less so. To me, problem solving ability is precisely the same as the ability to articulate the problem and a solution. I don't see a major difference. If you can solve a problem but you can't articulate what the problem is or why the solution will address it, I wouldn't call you a good problem solver. If you can articulate the problem well but not come up with a solution, you're already doing better than a lot of programmers in the world, and I'd probably prefer working with you over someone who presents the solution without "showing their work". In fact, what is problem solving without such articulation? It's hard to even grasp what the skill means in a raw sense. Arguably creativity in this context is just the ability to reframe a problem in a more approachable manner. Many times, if not most times, such framing implies some obvious solution or sets of solutions with clear tradeoffs.
- janalsncm 1y agoThere are different ways of solving a problem though, some which require more critical thinking than others. Trial and error (in industry you can sound fancy by calling it “choosing parameters empirically”) requires no understanding of the underlying process, only the ability to measure the outcome. If you’re debugging, you can get by for a long time by trying things until the compiler shuts up. It’s not efficient or good but people do it.
- karmakaze 1y agoThe article is from 2020. Recent LLM developments show that a model trained on math and code is better at coding than one that's trained on language and code without math.
- gitremote 1y agoAbsolutely. That's why people can be perfectly fluent in a programming language and a high performer at work, but fail an interview algorithms/leetcode problem in that language, as algorithms are math problems that programmers almost never see at work. The recruiter labels an algorithm problem as a "coding" test, but it's a math test, and concludes that most applicants who claim to be fluent in a programming language can't code and must have lied on their resume. For context, I don't mind algorithm tests, but I strongly disagree with recruiters presenting it as a coding assessment.
- qwertytyyuu 1y agoComputer science definitely requires math brain
- _ache_ 1y agoYes, nobody doubt about that. The article is about programming, which, even if it requires some math skills, require more an ability to deal with a language system.
- _ache_ 1y agoThat is now obvious, any LLM is able to code, and is usually very bad at math. This alone proves that a good part of programming is linked to language not math. Even if CS is sort of applied mathematics.
- godelski 1y agoIt think this is silly on multiple accounts. I'll claim that there's not real thing such as a "language brain" or "math brain." I'll also claim that most people don't know what math is, and that their evidence supports a "math brain". Math isn't about calculations/computations, it is about patterns. You get to algebra and think "what are these letters doing in my math" but once you get further you think "what are these numbers doing in my math?" A great tragedy we have in math education is that we focus so much on calculation. There's tons of useful subjects that are only taught once people get to an undergraduate math degree or grad school despite being understandable by children. The basics of things like group theory, combinatorics, graphs, set theory, category theory, etc. All of these also have herculean levels of depth, but there's plenty of things that formalize our way of thinking yet are easily understandable by children. If you want to see an example, I recommend Visual Group Theory[0]. Math is all about abstraction and for some reason we reserve that till "late in the game". But I can certainly say that getting this stuff accelerates learning and has a profound effect on the way I think. Though an important component of that is ensuring that you really take to heart the abstraction, not getting in your own way by thinking these tools only apply in very specific applications. A lot of people struggle with word problems, but even though they might involve silly situations like having a cousin named Throckmorton or him wanting to buy 500 watermelons, they really are part of that connection from math to reality. This is why "advanced" math accelerating my learning, because that "level" of math is about teaching you abstractions. Ways to think. These are tremendously helpful even if you do not end up writing down equations. Because, math isn't really about writing down equations. But we do it because it sure helps, especially when shit gets complicated. [0] https://www.youtube.com/watch?v=UwTQdOop-nU&list=PLwV-9DG53NDxU337smpTwm6sef4x-SCLv https://www.youtube.com/watch?v=UwTQdOop-nU&list=PLwV-9DG53N...
- danielmarkbruce 1y ago100%. I have 2 kids and what they learn at school is absurd... I have to put them in an extra class outside school where they learn a lot of the more abstract stuff, albeit as you say at a level which makes sense (not too deep).
- godelski 1y ago
- ohgr 1y agoAs a mathematician by trade, the math brain is a language brain. Mathematics is about abstract communication rather than mechanics. Oh wait neuroscientists, explains it all. A statisticians favourite target for being unable to interpret data correctly.
- 725686 1y agoFor the 99% of programming I come across, I need about 0% math.
- hinkley 1y agoI’m old enough to have caught the tail end of CS being an offshoot of the Math department and I had a gaggle of fellow undergrads who were happy ours had been moved to the Engineering college and upset to know other students at other schools who were still in Math. I don’t know about for learning but definitely for collaborating and mentoring. And it’s difficult to make a definition of mastery that excludes both of those, so I suppose after a fashion it’s right. Despite being a professed lover of math, I scored higher on the verbal than the math SAT. There’s a lot of persuasive and descriptive writing in software, particularly if you’re trying to build a team that works smarter instead of finding more corners to cut.
- quantadev 1y agoThere's only a handful of key concepts people need to learn to understand the basics of 'coding'. If you understand what a variable is, how they're scoped, how step-wise transformations happen, and what loops are, you know 90% of "coding". I knew it at age 13 in 1981 doing "Basic" programming. Sure mastery of the art of coding does take decades, but that's just just adding polish, rather than capability. Math is VASTLY different with VASTLY more concepts that are all much more abstract in nature and harder to understand the infinite numbers of different ways one mathematical construct can be applied to another. A person can "master" coding, but no one ever masters math. So comparing math to language or to coding is silly. They're completely separate domains. Just because each of the three can encode and represent the other two doesn't make them similar in any way whatsoever.
- JohnMakin 1y ago> There’s a lot of people out there who “aren’t math people,” but they just might be computer science people This is beyond silly from my perspective. I know the field of CS is vast, but this seems to conflate programming with CS. My school was more theory heavy but there definitely came a point in certain paths of study where I didnt touch a line of code for a year, just pure math. I struggle to even understand how someone can think of this sentence - computer science at its core is underpinned by mathematics.
- rowanG077 1y agoThey call "numeracy" math skills. From that perspective it seems not that weird to call programming CS.
- calebm 1y agoThis is why women are so dominant in the software development field - because women are known to have higher language skills than men.
- tmaly 1y agoI just started reading this. Only 42 people in this study and only 36 completed the activity. I am a bit skeptical about the findings with such a small sample size.
- 3pt14159 1y agoThat's what I was going to say. Big conclusions based of tiny sample sizes are ridiculous.
- alexpotato 1y agoThis reminds me of the following quote: "Coding largely involves the 'logical part' of your brain. It tends to not include the 'language part' of your brain. This is one reason why comments you add to code are so useful: they force you to engage both parts of your brain and therefore get better results. This is also why when you go to explain a problem to a colleague, you often have a flash of brilliance and solve the problem: you are reframing the problem using a different part of your brain and the different part of your brain helps solve the problem." I'm sure some readers here will say this is preposterous and there is no such thing as having "two parts of your brain". To them I suggest watching: 1. "You are are two" (about people with their corpus callosum being severed) https://www.youtube.com/watch?v=wfYbgdo8e-8 https://www.youtube.com/watch?v=wfYbgdo8e-8 2. "Conscious Ants and Human Hives" by Peter Watts https://www.youtube.com/watch?v=v4uwaw_5Q3I https://www.youtube.com/watch?v=v4uwaw_5Q3I
- TheGrognardling 1y agoI certainly don’t dispute the empirical validity of the findings from the study - but there are important nuances to consider as well. I am certainly more naturally-attuned to languages as-far as language-learning and reading than mathematics, but I have also found myself understanding more mathematical and theoretical linguistics as well. I also love programming. It wasn’t until high school, when I tested-into the highest math class that the school offered, that I began to unlock (with some initial struggle) more logical and procedural reasoning specific to mathematics that I had always done well in, but never explicitly went above-and-beyond in, despite hints of such in arithmetic competitions that my school would hold and that sort of thing. I just think my brain works well for both the linguistic aspects of programming (more naturally) and the computational problem-solving aspects of programming. Certainly there are individuals who have strengths in both cognitive aspects, despite being more naturally-attuned to one versus the other, at least presumably. Perhaps this shows a cognitive profile that has natural strengths in both "brains", or maybe this highlights limitations of the article's potentially narrow definitions of "language" and "math", implying a more complex intellectual landscape. Interesting findings nonetheless.
- john-h-k 1y ago> I certainly don’t dispute the empirical validity of the findings from the study You absolutely should. Tiny sample size and poor statistical method. It is p-hacking plain and simple
- TheGrognardling 1y agoOkay, yeah - fair point. I admittedly didn't look too closely at the article before posting this - and I'm not too statistically-minded in many respects. But upon further investigation, yeah, you seem to be right. I think this article is really just promotional material for something.
- resters 1y agoI've noticed that the people who initially grok programming language syntax are often better at learning new symbolic systems, but I think this is actually due to a persistent type I error their brains make that is OK for early learning. People who end up being the best programmers have a deeper appreciation for semantics and information flow, but tend to commit more type II errors early on, making them inferior intro CS students. Much of the CS curriculum (and typically also the required maths curriculum) in universities still favors the first type of student over the second, driving out the most capable and creative minds.
- osigurdson 1y agoIf you are bad at math, don't assume you will be bad at programming. Similarly, if good at math, don't assume you will be bad at programming. If you try programming and you don't like it chances are you won't be very good at it.
- randerson 1y agoAs an accomplished programmer who is not great at language nor math, I feel like my "modeling brain" is the key to success. I can envision all the aspects of an architecture, its data shapes and program flow, making it obvious which data structures and algorithms to use, or where to look for a bug. I did spend a lot of time naming things though... until ChatGPT replaced the need for a thesaurus.
- hirvi74 1y agoIsn't math somewhat a language in of itself? If not, a language has surely derived from math.
- tgv 1y agoHold your horses. The summary of that article does not offer any proof of what the title says. * It's a small sample, and they did not analyze the people who didn't complete the course. That's dubious. Those 6 could have had a massive influence on the outcome. * The summary does not present the actual numbers. These are: "fluid reasoning and working-memory capacity explained 34% of the variance, followed by language aptitude (17%), resting-state EEG power in beta and low-gamma bands (10%), and numeracy (2%)". Note: numeracy, not math. * The test result was only partially programming related. 50% consisted of the results of a multiple choice test with questions such as What does the “str()” method do?. Linguistic knowledge indeed. * It's about completing a 7.5 hour Python course. That's learning indeed, but only the very beginning, where abstraction is not in play. The early phase is about welding bits of syntax into working order. * The numeracy skills required are very low for such tasks, as the tasks are simple, and mainly require thinking in steps and loops, whereas numeracy aptitude is generally measured on rather problems involving fractions. Edit: the paper uses the Rasch-Based Numeracy Scale for this, which seems to involve estimation and probabilities. * 17% explained variance is a rather minimal result, and you cannot easily compare factors in such a small design, even if the other one is only 2%. That's a rather hairy statistical undertaking. * Linguistic expedience might be explain the speed with which the course was followed, since the instruction is, obviously, linguistic. Hence, this factor is not necessarily related to the actual learning or programming. * The argument from beta waves is clutching at straws. * The argument that "perhaps women should have more of a reputation for being “good” at programming" because they score better on tests, is --however well meant-- utterly ridiculous. It reverses correlation to causation and then turns that into a fact. * That linguistic skills are useful for programmers is widely understood. However, this is not because of the actual coding, but because the coder needs to understand the environment, the specs, the users, etc., all of which is transferred via language. * And of course, the statistical result relies on Null Hypothesis Test Significance, which is rotten in its very foundations. * Note that the CodeAcademy course "Learn Python 3" is 23 hours in 14 lessons.
- msvana 1y agoAt the beginning, the article mentions correlation with language skills AND problem-solving. Focusing only on language skills in the second half is misleading. According to the abstract of the original paper, problem solving and working memory capacity were FAR MORE important. Also, the article doesn't mention "math skills". It talks about numeracy, which is defined in a cited paper as "the ability to understand, manipulate, and use numerical information, including probabilities". This is only a very small part of mathematics. I would even argue that mathematics involves a lot of problem solving and since problem solving is a good predictor, math skills are good predictor.
- scarecrw 1y agoGoing further, it seems like Language Aptitude was primarily significant in explaining variance in learning rate, measured by how many Codecademy lessons they completed in the allotted time, but wasn't explanatory for learning outcomes based on writing code or answering multiple-choice questions. Seeing as Codecademy lessons are written in English, I would think this may just be a result of participants with higher Language Aptitude being faster readers. I do think that language skills are undervalued for programming, if only for their impact on your ability to read and write documentations or specifications, but I'm not sure this study is demonstrating that link in a meaningful way.
- BXLE_1-1-BitIs1 1y agoStarted programming over half a century ago. The insurance company I was working for gave me a joint life actuarial evaluation problem for which I wrote a Fortran program, picked up from a book. My uni student buddy let me use his ID so I could drop decks into their IBSYS. Turnaround was about a day. My career as a professional manual reader began. Well yes, my high school maths were in the high 90s - more than my language scores in French, German and Latin with some off curricular Russian. I guess being a polymath helps. Unless you are doing an engineering or mathematical application you don't need much math, especially as you can just call a function in the vast majority of the time. I did a number of software products and operating system modifications without using any math beyond arithmetic operations. I was a resource for other programmers including the odd math PhD.
- dismalaf 1y agoNotwithstanding Puritanism like "language is maths" or "logic is maths" I definitely agree. I learned to program when I was a kid and my maths skills were super basic. Programming can almost be distilled to something as basic as "if this, then do that", plus "do this x times". Then read API documentation and call functions that do what the docs say. With just this basic understanding you can create a lot of stuff. The maths is obviously the foundation of computation, but to be a programming language user and build stuff, you don't actually need to understand most of it. In university I did eventually do some math-y stuff (econ degree so prerequisites in stats, maths and even CS) and it helps with certain stuff (understanding graphics programming, ML and LLMs, plus knowing maths on its own is useful), but I still don't feel it was strictly necessary. Language and basic logic is enough IMO.
- Tlousebenza 1y ago[dead]
- Ygg2 1y agoWhenever encountering such sensationalist headline, it's good to remind ourselves of "[Replication needed]" tag.
- rconti 1y agoThe most obvious way in which I think "math" and "programming" are related is the way they're taught; by repetitive performance of problem sets. I got frustrated in math for this reason; it takes a lot of energy to sit and focus on a whole bunch of hard problems that all "look the same". It was too easy to do 1 or 2 and think "okay, I got it" and then move on, not realizing the repetition was the key to memorization. I feel the same way about starting learning programming. Repetition, repetition, repetition, until you "get good".
- literallyroy 1y agoIs 42 participants statically significant?
- mrinterweb 1y agoPersonally, I find ruby one of the most readable languages because of the language and its DSLs. To be fair, the DSLs are very readable, but the lines can blur between what is ruby and what is a DSL.
- sota_pop 1y agoI have really come to enjoy using LINQ queries (specifically with lambda syntax) in the C# language. Although I’m a little biased because I work mostly in C#.
- jackcosgrove 1y agoI had to scroll through most of the paper to find this. > All participants were right-handed native English speakers with no exposure to a second natural language before the age of 6 years Which removes a confounder that Python mimics English syntax. Still if this is a typical study recruiting thirty-some undergrads as subjects it's probably not generalizable, or even replicable given the same experimental setup.
- vlovich123 1y agoCounter example: I can pick up any new programming language within 3-6 months and be proficient but it takes a year to pick up some minor fluency in a human language and I still have yet to obtain full fluency in any other language as an adult.
- nielsbot 1y agoI suspect, however, that a programming language is a much more limited domain than a human language. I often tell people it's not that learning a language is hard, is learning that language's software library... and learning a software library doesn't feel like learning a language. More like learning a set of tools.
- kjellsbells 1y agoIt's funny that this popsci article instantly succeeded in dividing the HN commenters into math/not-math camps. Porque no los dos? Programming is the manifestation of thought through the medium of a keyboard and screen. If you are a clear thinker, if you can hold multiple things in your head at once, if you can reason about things and their relations, well, you can be a strong programmer. It seems wholly unremarkable to me that someone new to Python would not be fazed by it, given it's fundamental basis in words (print, if, etc.) Someone with a background in languages, who can think well enough to explicitly or implicitly pick up the structure of the language, is gonna do just fine. "Oh, so when I see a while, I need to end with a colon" isnt so different from "when I shout, I need to add a ! at the end" (Java gets a special place in hell for forcing "public static void main" on every beginner.) Math only really comes into it when you want to reason about things that have a history of being manipulated mathematically, typically for reasons of convenience. You could probably invert a matrix in SNOBOL, but its a lot easier to pull out lists and arrays and linear algebra. In other words, lets see the follow up paper to this where Python newbies are asked to model the trajectory of a bead on a wire and see how they do.
- rerdavies 1y agoThe language brain is more important than the math brain for reading the first lesson on how to program in Python. Fixed that for you. Does answering a quiz on the contents of the first lesson on how to program in Python really encapsulate anything concrete about who will and will not be able to actually program in Python? I've always been disturbed by the disconnect between "first lessons" on programming languages and how I personally actually learn programming languages. I can't help thinking that the researchers have measured something else other than whether people have learned to program.
- FilosofumRex 1y agoYou can make any subject "mathy", because there are relations, ratios, correlation and patterns in everything. My favorite example, is how Chomsky mathified linguistics, and made it esoteric, undecipherable, uncomputable and thereby linguists unemployable, even in research labs. But as a matter of practice, teaching programming to engineers/scientists, even to mathematicians, is an order of magnitude easier than teaching math to CS folks. Simply quiz job candidates on fp arithmetics, and see how many fail miserably.
- kevin_thibedeau 1y agoI'd posit that this is part of why Pascal lost. Making and/or the same precedence as */+ only appeals to mathematicians and gets in the way of ordinary uses for Boolean expressions where you want them lower than the sub-expressions they concatenate in a language-like manner.
- twodave 1y agoIn my experience, language skill may or may not matter for programming, but it certainly matters for understanding a problem space. You can be a great programmer, building the wrong thing because you didn’t understand the requirements or see the gap in them and know to ask the right clarifying question, etc. Lately I’ve also felt language skills matter when writing concise, specific AI prompts. This has become a useful part of my programming workflow in, I suppose, the last year or so. Before that it was knowing “how to Google” well, but that’s less language-dependent in my opinion.
- PicassoCTs 1y agoI guess its the ability to tell long, forking stories, traversing several abstraction layers. Dante Alighieri would be loving this! Its the ability to walk through a mental palace, room for room again.
- ChrisMarshallNY 1y agoThat makes sense. Probably the most valuable math classes for me, were ones that had me use algebra to solve word problems. And, fundamentally, all languages describe the same stuff, using different tokens. That is pretty much in line with programming languages.
- w10-1 1y agoNot sure why the title left out the essential term: it matters more for learning programming I believe the goal is to encourage those (young people) allergic to math but good in languages to realize they could be good at programming. That's worthy and important (though ironic to use a scientific study to do so). As for the larger question commenters are raising, I notice often programmers reducing programming to problem-solving, and that to modeling, thence to math writ large; then they prove their point by noting that the most significant algorithms have strong and deep roots in math. The argument is: if the pinnacle of programming is math, then the more math-like programming is (in people and style), the better. (Hence: functional programming and provable algorithms are the epitome) This argument is invariably made only by math experts, and does have the effect of reducing competition and selecting for like-minded persons, so there's at least the possibility of infection with self-interest and bias to the familiar. I think the real distinction lies in this: with math, once you have a model, you fit things into that, and exclude other things. You do perfectly, but only in your domain. With language, any differance (any difference that makes a difference) starts to be named and tracked and dealt with somehow. It may grow in confusing ways, but it turns out (like architecture) it actually makes much more sense to adapt the structure to the use and relevance than vice-versa. Sure, some subset of architecture is engineering by necessity, and it's probably even the hardest subset. But that's also the most portable knowledge and practice, and I would argue, thus easier to find and deploy once you've isolated such a need, particularly since mathy stuff fits nicely in a reusable library. So math is an important but relatively isolated part of programming, and thinking it's ideal for everything is missing the point that programming matters for some purpose. "attention is all you need" is but one example of the priority of relevance over structure in systems.
- blobcode 1y ago> the requirements for advanced math classes for every computer science major seem unnecessary Computer science is much more than programming - and I think that most of the value derived is from being able to think about problems, which largely require the abstract type of thinking encouraged by more advanced math. Code is just a tool.
- anacrolix 1y agoI would agree. Linguistics and literature have always been a strong interest of mine, and many computer scientists. Moreso, I find weaker programmers struggle with spelling, grammar, various dyslexias and torrent-of-thought code organisation.
- dublin 1y agoOf course it does. Math is not programming - it's almost entirely irrelevant to programming and certainly to software and architecture development. Most modern programming only involves math for trivial things like counting. This classic article explains the real issue - like Mike Gancarz' classic on the Unix Philosophy, this is something all younger hackers should read, but few have, since these are the fundamental ideas that have created our modern world of computers: https://web.archive.org/web/20000529125023/http://www.wenet.net/~scoville/PCarticle.html https://web.archive.org/web/20000529125023/http://www.wenet....
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- banq 1y agoIf we distinguish between form and content: Mathematics = form; language = content. However, mathematics is only one type of form, and subject-predicate-object grammar also belongs to form, yet grammar falls under language. For example: "Matter determines consciousness." If we apply first-principles thinking—where does matter come from? This statement then becomes: "XXX created matter, and matter determines consciousness." At this point, our interest shifts to the first-principle subject "XXX," focusing our attention on it. Who is XXX? God? In this thought process, we use the subject-predicate-object grammatical structure to trace back the original subject "matter" in "matter determines consciousness"—where does matter come from? Although this formal reasoning does not involve specific mathematical formulas, it indeed employs formal logic to uncover a flaw and opens the door to deeper rabbit-hole
- voidhorse 1y agoAbstraction is a huge factor in this too. Language may be dominant because we are at a stage in which the vast majority of programming is little more than hooking together tidy abstractions that are already highly optimized and predominantly organized linguistically. It you ever need to get into the guts of a system or need to solve bleeding edge problems for which good abstractions don't yet exist, the "math brain" becomes significantly more relevant. I say this as someone who studied literature and philosophy. The majority of what I know about programming and software engineering I either taught myself or learned from the tutelage of others on the job. Early on in my career, a solid mathematics background was, indeed, not that relevant. These days, though, I'd be lost without it. Whether you like it or not, when it comes to doing real engineering you necessarily need to establish bounds and prove things about those bounds and typically you'll need to do this numerically or at the very least using inductive structures. Linguistic aptitude is still relevant, but it helps less in these cases.
- sota_pop 1y agoAs others have commented, I believe strongly that to define “language brain” and “math brain” is a false dichotomy and bunk neuroscience. Mathematics IS a language in itself; a collection of symbols created to express concepts. This study works really hard to make a statement that most people already know: anyone can be a good programmer, mathematician, “whatever” if they have the interest, drive, and opportunity to do it. An interesting book that illustrates the evolving societal perception of mathematicians (and by extension, computer scientists) over time is “Duel at Dawn”. The modern (sic recent) notion is the reclusive genius (maybe even suggestion of autism) who possesses the alien, superhuman, unattainable, too-cool-for-you ability to process numbers and information that you can only be born with. (Those familiar with the TV show “the big bang theory” would recognize the trope of the “Sheldon Cooper” character.) This is False. The reality is that no one is born with the super-human ability to do anything - anyone who is very good at something has worked very hard to get good at that thing regardless of the perception. edit: my initial criticism of “the study” was based upon the article. On a skim of the actual cited paper, I revised my specific criticism, but the actual paper still comes off as no more than a mild eugenics argument dressed in psychology and statistics jargon.
- concordDance 1y agoCan't see any eugenics there, can you quote?
- albertoCaroM 1y agoAlthough the study by Prat et al. (2020) suggests that linguistic aptitude is a better predictor than numeracy for learning programming in Python, it should be read carefully, as it can easily be oversimplified. To begin with, the study measures functional numeracy: the ability to solve everyday numerical problems. This is quite different from the kind of advanced mathematics often associated with programming, such as formal logic, symbolic abstraction, or the use of formal languages (as found in denotational semantics or type theory). These more abstract skills—not basic arithmetic—are essential for understanding recursion, type inference, or algorithm design. That functional numeracy has low predictive power in this study does not imply that deep mathematical reasoning is irrelevant to programming. Moreover, the language used in the study is Python, which was explicitly designed to be readable and semantically close to natural language. This may give an advantage to individuals with strong verbal skills, but the results don’t necessarily generalize to languages like C, Lisp, or Haskell, where symbolic and logical density is much higher. Finally, language and mathematics are not opposing domains. They share cognitive underpinnings, such as working memory, executive attention, and hierarchical structure processing. The key is not which one "wins," but how they interact and complement each other in different programming contexts.
- mmaunder 1y ago> These more abstract skills—not basic arithmetic—are essential for understanding recursion, type inference, or algorithm design. No they're not. Academia has spent decades trying to formalize many aspects of programming and continues to be confused by the lack of correlation between comp sci grads and innovative programmers. Why is it that the drop-outs are succeeding so wildly? Recursion, for example, is learned by most of us real world achievers when we hit a brick wall in programming that other methods won't solve, and we have that aha moment of "this is why this exists". Not because we studied advanced math with symbolic abstraction, denotational semantics and type theory. The uncomfortable truth is that almost all of professional programming and innovative programming (creating useful stuff never before seen) never uses any of the advanced math skills that are prerequisites in every degree program. I think much of the sadism around teaching this is perpetuated by "I did it so you have to" and academic gatekeeping. When you get really really good at programming and hit the most productive zone in your life, it feels like language. That you have the ability to just say it.
- _1tem 1y agoThis tracks with my experience perfectly. Hated the math at my Computer Science program in university, barely passed the math courses while excelling at the programming courses, loved taking linguistics, foreign languages, and literature as electives. To this day, programming, foreign languages, and literature is what I do all day every day.
- blueboo 1y agowe'll eventually find that the language brain matters more for math than the math brain.
- dmos62 1y agoMy take on skills related to programming is that it's a dance between writing skills and working memory. I've measurably bad working memory, which had led to compensation with writing skills, which led to a programming style that's fairly disciplined and focused on "wholesome" readability. A downside is that I still struggle interacting with code that's written by the working-memory-oriented programmers. I've recently taken up a daily practice to improve my cognitive skills. Currently I'm using NeuroNation, and it is quite great. The stimulus to start the practice was getting my memory tested (clinically) and learning that it's below norm.
- john-h-k 1y agoHas anyone here actually read the paper? Heavily clickbait headline, completely exaggerating the study results, which themselves are not very rigorous (to be generous) Tiny sample size - 36 people completed Numeracy has R^2 = .27 Language has R^2 = .31 They then run stepwise regression to determine variance contributions, seemingly ignoring their earlier results, and this leads to almost no contribution from numeracy. Why? Because they have ~10% shared variance and stepwise regression is greedy - will just take whatever you give it first. I can't mention this part enough. If you got a second, very similar language test, and added it to the model, you would _also_ find it has almost no unique variance added. Every thing they measure is incredibly noisy and they do not once attempt to deal with this. Human based reviewers, time-to-completion, etc. p-value for "language learning is more significant than numeracy" on the values they give (Steiger test) gives 0.772. Utterly insignificant. Also, to beat the point home, just think about the argument here: * Numeracy contributes 27% of variance * Language skills contribute 31% of variance * After regression step, numeracy contributes only 2% of unique variance. Because you added a correlated variable!
- SanjayMehta 1y agoIt reads like an ad for something.
- hansvm 1y agoTo be somewhat fair, their numeracy scatter plot visually looks more like a dart board than any real process. The fact that you got a positive-sloping line out at all from the regression has to do more with the positions of the outliers than anything else. You're at least able to visually examine the language aptitude plot and see an up-and-to-the right connection between the two variables.
- john-h-k 1y agoI agree, but also via some napkin math, the chance of getting those different results is something like 40%. (Ie, if you sample the same signal twice for the numbers they did in the study, there’s a 40% chance it’ll be >0.04 away from the original sample, as numeracy was from language)
- gitroom 1y agoHonestly, all this "math brain" vs "language brain" stuff just feels off to me - I've always been more of a pattern and abstraction person anyway. Makes me wonderif schools focused more on teaching real abstract thinking early, would way more kids just "get" programming without even stressing over math class?
- whatagreatboy 1y agoNot treating math as just another language for expressing your thoughts is a weird position to take. I cannot take this position seriously.
- jalopy 1y agoInteresting tidbit: >>> In this study, high levels of these beta oscillations were associated with faster learning and more programming knowledge This makes me think those binaural beat programs attuned to beta wave frequency might help with heavy coding sessions? Can anyone point to studies that confirm/reject this?
- yawboakye 1y agotautological. math is language.
- mathgradthrow 1y agothe language brain matters for math much more than the math brain.
- g_host56 1y agoI could have told you this for free :) but really it just depends: - web or app information software: logic and language matters more here - doing what Donald Knuth does: math matters more here
- Shorel 1y agoMy own definition of mathematics for the sake of this comparison: - If you can write a formal proof, starting from some assumptions and proving some result, it is mathematics. The assumptions are the axioms. Then you use logic, which is the same programming logic, and then you get to some result. It can be an invariant in a programming function, it can be a more general result, if you can write a proof, it is mathematics. Most algorithms involve proofs, so they are mathematics.