Live data from Hacker News

Relating natural language aptitude to differences in learning programming

nature.com

31–40 of 50 posts

Re: Relating natural language aptitude to differences in learning programming

#32

I wonder if this predicts any better than a generic IQ test? The idea behind IQ is that lots of different cognitive tasks are correlated.

That would throw under the bus a lot of race-and-IQ suppositions seeing how Africans commonly speak 3 or 4 languages, sometimes more, and a large majority of white people and Asians are monolingual.

> a large majority of white people and Asians are monolingual

Please edit "white people" to "American and Chinese white people"... people from smaller countries are more prone to knowing more languages :P Also, people who migrate or travel a lot. Also, since race discrimination is still a thing in the US and not only, smart people of color do their best to appear at least as smart as they really are, and knowing foreign languages probably helps a lot.

Being white and of the right nationality in a developed country simply allows you to be lazier, and you can afford to appear "dumb" in casual life, or to focus on only what you care about, hence you'd probably not bother learning any foreign languages, the ROI would be very bad for you, others will learn your native language instead... We all have limited amounts of brainpower and we try to invest it as well as we can.

Re: Relating natural language aptitude to differences in learning programming

#33

> one participant was excluded because he was an extreme outlier in learning rate (>3 sd away from the mean). Can anyone explain why did they do this? Was it just to prove their hypothesis? I bet this guy had really high numeracy scores as well. Edit: They also botched some of the numbers: > (Fig. 1A: mean learning rate = 1.25, range = 0.81–2.0, sd = 0.24) The 2.0 point is not included in Fig. 1A, the highest learnin…

Removing outliers is a common practice in data science. A quick search on "why removing outliers" returns a lot of discussion on the topic of when it should be done and when it should not. I encourage you to read some to get familiar with the arguments. In this specific case, I suppose they could have added some motivation for their decision, but I don't think they did it in bad faith. They only had 36 samples, and a…

> They only had 36 samples, and a 3sd event occurs once in ~300 cases: this hints to the fact that that data point might have been erroneous

Or it hints that the distribution of learning rates is not gaussian. When there's an "n-sigma" event, it's usually much more likely that the model is wrong than that the event is that rare.

Re: Relating natural language aptitude to differences in learning programming

#34
Interesting, although of course these things are very hard to study rigorously. When I did the UnderC interactive interpreter, my hypothesis was that people learn programming better in a 'conversational' setting, just as with human language. It remains an hypothesis - it is probably more true for some people, who just like REPLS :). A stronger case can be made for "interactive rich environment", e.g. the classic LOGO experiments.

Re: Relating natural language aptitude to differences in learning programming

#35
post #29

I don't have time to read this whole study, but am a little skeptical of the hypothesis. Much of natural language aptitude is about fuzzy logic with lots of exceptions (in English at least) and contextual intuition (especially in Chinese). Whereas programming computers requires more mathematical oriented thinking and raw working memory for abstract symbolic logic. I recall Joel Spolsky (I think) wrote in one of his e…

> Much of natural language aptitude is about fuzzy logic with lots of exceptions (in English at least) and contextual intuition (especially in Chinese). Not saying you're wrong, but do you have a source to back up this claim?

Linguistics, literature, epistemology, philosophy, cognitive behavior studies,... for starters.

Language is a social construct. What you see on paper or a screen, the vocal sounds you hear as someone speaks, those are just physical representations. They don't carry any inherent meaning.

All human interaction is based on a shared understanding of the world. When I state that "one plus one equals two", I assume that my audience and me agree on what each of those terms in that sentence means. That we share the same frame of reference to assert that statement as true or false.

I could easily invent an entirely new language where the only difference is that the words "two" and "three" swapped meaning. At that point, the sentence "one plus one equals three" carries just as much truth, as long as we share a common understanding of what "three" means.

The difficulty then is that a common understanding of shared meaning isn't always clear cut. Culture, education level, aptitude, personality,... all impact how we perceive and interpret the world, and how we'll use language to build an abstract mental model from which we can can assert our own individual identity.

What many programmers tend to forget is that a "high-level programming language" is exactly that: a vocabulary and a syntax that mimics a natural language which allows you to describe the world. It's NOT merely an abstraction of low level internals of a computer as is often assumed.

Implementing a feature request then consists of interpreting whatever you've read in a spec, user story, brief,... transform that into your own mental model and then express that using the limited formal set of symbols provided by the language. Functional testing is basically verifying if your own unaware assumptions and biases didn't break a shared framework of understanding or created a disconnect between you and the client or the user.

Developers have a penchant for creating new frameworks and languages based on a fallacy: that theirs will be able to somehow "fix" the "fuzzy logic of language", whereas that's inherently impossible. Unless, you're the last person alive with no-one to challenge you on how to interpret of things, that is.

Re: Relating natural language aptitude to differences in learning programming

#36
post #19

Earlier quoted context omitted.

That would throw under the bus a lot of race-and-IQ suppositions seeing how Africans commonly speak 3 or 4 languages, sometimes more, and a large majority of white people and Asians are monolingual.

Number of language spoken is largely a function of the environment and doesn't have much to do with intelligence. If you take a highly multilingual African and drop them in America, in two generations you will likely have mostly monolingual descendants.

Not confirmed by current immigrants.

https://en.wikipedia.org/wiki/African_immigration_to_the_Uni...

Re: Relating natural language aptitude to differences in learning programming

#37

Earlier quoted context omitted.

That would throw under the bus a lot of race-and-IQ suppositions seeing how Africans commonly speak 3 or 4 languages, sometimes more, and a large majority of white people and Asians are monolingual.

A majority of Europeans speak 2 languages, a quarter speaks 3 or more. So it isn't a white thing, it is an American thing. And it isn't because Americans are dumber than Europeans, it is just because learning new languages makes more sense for Europeans than for Americans due to those languages being smaller and foreign languages being physically closer. Also mastering a single language is harder than learning to get…

>A majority of Europeans speak 2 languages, a quarter speaks 3 or more.

You haven't met many Europeans have you. Not all of them are Dutch, Scandinavian, urban youth or immigrants.

>a majority of them are not really all that good even in their mother tongue as we can see from standardized testing

This makes no sense. You can't be not good in your mother tongue - it's your mother tongue. Standardized testing has no say about how a language is structured, that's an absurdly prescriptivist point of view. As for foreign language ability, in real life it's not assessed by making them sit down and pass test questions, it's assessed by having them speak and write close to a native. Someone who casually uses slang, "bad forms" and occasionally makes native-sounding mistakes is more proficient at a language than someone who speaks an academic version of it and got good grades at a test.

Re: Relating natural language aptitude to differences in learning programming

#38

> one participant was excluded because he was an extreme outlier in learning rate (>3 sd away from the mean). Can anyone explain why did they do this? Was it just to prove their hypothesis? I bet this guy had really high numeracy scores as well. Edit: They also botched some of the numbers: > (Fig. 1A: mean learning rate = 1.25, range = 0.81–2.0, sd = 0.24) The 2.0 point is not included in Fig. 1A, the highest learnin…

With statistics you want to generalize. Find the simplest model that catches/explains most variation. Leaving that one outlier in would result in a worse model.

Re: Relating natural language aptitude to differences in learning programming

#39

Earlier quoted context omitted.

It is suspicious that they had so many with 0 correct answers out of 8. Here are the 4 easier ones of the questions: > If the chance of getting a disease is 10%, how many people would be expected to get the disease? Out of 1000? > If the chance of getting a disease is 20 out of 100, this would be the same as having a _____% chance of getting the disease. > Imagine that we roll a fair, six‐sided die 1000 times. Out of…

>> Imagine that we roll a fair, six‐sided die 1000 times. Out of 1000 rolls, how many times do you think the die would come up as an even number? A classic example of a question you can only answer if you don't know what you're talking about. I bet they think the answer is 500. 500 is the most likely result, but the odds of actually getting 500 heads on 1000 flips of a fair coin are 2.5%, 1 in 40. A little ways out,…

Isn't the correct answer about 500? Sure, getting exactly 500 would not be highly probable. But getting approximately 500 would be.
Post reply on HN