Live data from Hacker News

The language brain matters more for programming than the math brain? (2020)

massivesci.com

281–290 of 465 posts

Re: The language brain matters more for programming than the math brain? (2020)

#281
post #158

It 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 the…

I think you might be missing the point of the article: the study being cited isn't trying to establish the existence of a "language brain" or a "math brain", that's just the way the headline editorialized it to help people understand the conclusions. The conclusion of the study was that linguistic aptitude seemed to be more correlated with programming aptitude than mathematical aptitude, which seems fairly interestin…

The point is that linguistic aptitude _is_ math aptitude, and vice versa.

From my experience, my ability to articulate myself well is bound up with my ability to abstract and detect patterns. It is the same thing I apply to crafting software, the same thing I apply to creating visual art.

I think high-cognitive-ability people segregating themselves into artsy vs mathy people has more to do with their experiences in their formative years.

Re: The language brain matters more for programming than the math brain? (2020)

#282
post #189

At 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, man…

Going 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.

Re: The language brain matters more for programming than the math brain? (2020)

#283
post #239

Earlier quoted context omitted.

Do you think mathematicians don’t have to think about naming variables and structuring proofs?

The presumably-mathematicians who wrote my Algorithms textbook (CLRS) didn't seem to think giving the variables in their algorithms useful names. They just use i, x, etc. all over the place and don't even consider giving things actual names. This makes the book much less accessible than it would be if they treated it more like most people write code.

Picking what letters to use for what things can still be a struggle.

Mathematicians do have to deal with difficulties in naming things.

Re: The language brain matters more for programming than the math brain? (2020)

#284
post #239

Earlier quoted context omitted.

Do you think mathematicians don’t have to think about naming variables and structuring proofs?

The presumably-mathematicians who wrote my Algorithms textbook (CLRS) didn't seem to think giving the variables in their algorithms useful names. They just use i, x, etc. all over the place and don't even consider giving things actual names. This makes the book much less accessible than it would be if they treated it more like most people write code.

  > They just use i, x, etc. all over the place
I do agree with your point btw, but I did want to note that there are good conventions around symbols. The brevity is heavily influenced by the medium. Variable names sucked when you had punch cards. It's still burdensome to write long names when using paper, chalkboard, whiteboard, or any system that doesn't have autocomplete.

In general, lower case letters are used as constants, excluding x,y,z,t,i,j,k (sometimes u,v,w). It isn't a hard rule, but strong preference to begin at the beginning of the alphabet for these. Capital letters usually are held for things like Variable Sets (like random variables). Greek letters need context for constants or variables. BB and Cal typefaces for sets (e.g. Real Numbers, Integers). And much more.

I think a lot of the difficulty in it is that these "rules" or patterns are generally learned through usage and often not explicitly stated. But learning them can really help read unfamiliar topics and is why "notation abuse" leads to confusion. But after all, math is all about abstraction so technically any symbol will do, but no doubt some are (significantly) better than others for communicating.

  There are two hard things in Computer Science:
    - Cache Invalidation
    - Naming Things
    - Off-by-One Errors

Re: The language brain matters more for programming than the math brain? (2020)

#285

Earlier quoted context omitted.

> coding and math being equivalent Please see lambda calculus. I mean equivalent in the way mathematicians do: that we can uniquely map everything from one set to another

> Not "coding uses math", I mean it is math > I mean equivalent in the way mathematicians do That sounds like you're backing off from your original claim, probably because it is impossible to defend. That you can use mathematics to describe code doesn't seem very different from using math to describe gravity, or the projected winner in an election, or how sound waves propagate. Isn't the primary purpose of math to de…

A programmer constructs a function from some data type to another while a mathematician constructs a function from witnesses of some proposition to another?

Though interpreting a CRUD app as a theorem (or collection of theorems) doesn’t result in an interesting theorem, and interpreting a typical theorem as a program… well, sometimes the result would be a useful program, but often it wouldn’t be.

Re: The language brain matters more for programming than the math brain? (2020)

#286

Earlier quoted context omitted.

> By that same logic you could also say that language is math Not quite, but the inverse is true. The language to math direction doesn't work because a lack of formalism. I can state incomprehensible sentences or words. (There's an advantage to that in some cases!) but when you do that with code you get errors and even you do it with math its just that there's no compiler or interpreter that tells at you

>I can state incomprehensible sentences or words. since you can express paradoxes with match, perhaps not that different.

I think you misunderstand what "paradox" means. While it can mean "self-contradictory" it can also mean "contrary to one's expectation." Math uses both, but in very different contexts.

The contradiction is used in proof formulation, specifically to invalidate some claim. I don't think this is what you're implying.

The latter is what it contextually sounds like you're stating; things like the Banach-Tarksi Paradox. There's no self-contradiction in that, but it is an unexpected result and points to the need to refine certain things like the ZFC set theory.

I'd also stress that there are true statements which cannot be proven through axiomatic systems. The Halting Problem is an example of what Godel proved. But that's not contradictory, even if unexpected or frustrating.

Re: The language brain matters more for programming than the math brain? (2020)

#287
post #260

Earlier quoted context omitted.

math != calculation. It's an actively stupid fiction for people who don't understand what math is.

> 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?

It is hugely judgmental of people making claims and doing studies who don't understand that elementary arithmetic is a tiny part of math. I judge them. It's ok to be ignorant of a topic, but they shouldn't discuss it or make suggestions.

The comment below/above sort of explains it, except I'd argue covering it starts/can start/should start much earlier than at university. Basically, the vast majority of most branches of math, especially pure math, involves very little in the way of calculation. And the way math gets taught (and stupid claims about "math brain") means that many kids who aren't in the top few % of "doing calculation" never get to do the classes where it's less important.

LLMs, trained on words/tokens and symbols and logical combinations of them, are proving to be good at math, and bad at calculation/arithmetic. If an LLM went to school we'd never let it train on real math tokens. It would get shoved in the corner as a "model bad at math" because it was a "model bad at arithmetic".

Re: The language brain matters more for programming than the math brain? (2020)

#288

Earlier quoted context omitted.

> Most coding doesn't need much of any math past boolean logic and very basic set operations Coding IS math. Not "coding uses math", I mean it is math. Mathematicians do not deal in objects, but in relations among objects; they are free to replace some object by others so long as the relations remain unchanged. Content to them is irrelevant; they are interested in form only. - Poincare[0] I don't know how you code, b…

>Coding IS math. No, not always. Quite a lot of high-level code doesn't require any math at all. It doesn't take math to perform CRUD operations, which account for a lot of programming work. Sure, the underlying machine code is all based on math, but the higher level programming doesn't need to involve a single math equation for it to be useful. Let's see where the goalposts move now...

  > It doesn't take math to perform CRUD operation
Yes it does. Just because the objects you are working with aren't numbers doesn't mean it isn't math. In fact, that's my entire point. It is why I quoted Poincare in the first place. He didn't say "numbers" he said "objects".

Re: The language brain matters more for programming than the math brain? (2020)

#289

Earlier quoted context omitted.

> Most coding doesn't need much of any math past boolean logic and very basic set operations Coding IS math. Not "coding uses math", I mean it is math. Mathematicians do not deal in objects, but in relations among objects; they are free to replace some object by others so long as the relations remain unchanged. Content to them is irrelevant; they are interested in form only. - Poincare[0] I don't know how you code, b…

Sure, lambda calculus is math. To call assembly or typical imperative C math, at least in the same sense, is a bit of a stretch.

Working with different objects doesn't make it any less of math. Just because you can derive calculus from set theory (analogous to assembly or even binary here) doesn't make calculus "not math".

Math is about abstractions and relations. See the Poincare quote again.

Plus, the Programming Languages people would like to have a word with you. Two actually: Category Theory. But really, if you get them started they won't shut up. That's either a great time or a terrible time, but I think for most it is the latter.

Re: The language brain matters more for programming than the math brain? (2020)

#290

Earlier quoted context omitted.

> coding and math being equivalent Please see lambda calculus. I mean equivalent in the way mathematicians do: that we can uniquely map everything from one set to another

> Not "coding uses math", I mean it is math > I mean equivalent in the way mathematicians do That sounds like you're backing off from your original claim, probably because it is impossible to defend. That you can use mathematics to describe code doesn't seem very different from using math to describe gravity, or the projected winner in an election, or how sound waves propagate. Isn't the primary purpose of math to de…

  > Isn't the primary purpose of math to describe the world around us?
No, that's Physics[0]. I joke that "Physics is the subset of mathematics that reflects the observable world." This is also a jab at String Theorists[1].

Physicists use math, but that doesn't mean it is math. It's not the only language at their disposal nor do they use all of math.

  > software engineering has nothing to do with mathematical abstractions 99% of the time
I'd argue that 100% of the time it has to do with mathematical abstractions. Please read the Poincare quote again. Take a moment to digest his meaning. Determine what an "object" means. What he means by "[content] is irrelevant" and why only form matters. I'll give you a lead: a class object isn't the only type of object in programming, nor is a type object. :)

[0] Technically a specific (class of) physics, but the physics that any reasonable reader knows I'm referencing. But hey, I'll be a tad pedantic.

[1] String Theory is untestable, therefore doesn't really reflect the observable world. Even if all observable consequences could be explained through this theory it would still be indistinguishable from any other alternative theory which could do so. But we're getting too meta and this joke is rarely enjoyed outside mathematician and physicist communities.

Post reply on HN