Viliam_Bur comments on Open Thread for February 11 - 17 - Less Wrong Discussion
You are viewing a comment permalink. View the original post to see all comments and the full post content.
You are viewing a comment permalink. View the original post to see all comments and the full post content.
Comments (325)
This is a tangent, but since you mention the "good founders started [programming] at 13" meme, it's a little bit relevant ...
I find it deeply bizarre that there's this idea today among some programmers that if you didn't start programming in your early teens, you will never be good at programming. Why is this so bizarre? Because until very recently, there was no such thing as a programmer who started at a young age; and yet there were people who became good at programming.
Prior to the 1980s, most people who ended up as programmers didn't have access to a computer until university, often not until graduate school. Even for university students, relatively unfettered access to a computer was an unusual exception, found only in extremely hacker-friendly cultures such as MIT.
Put another way: Donald Knuth probably didn't use a computer until he was around 20. John McCarthy was born in 1927 and probably couldn't have come near a computer until he was a professor, in his mid-20s. (And of course Alan Turing, Jack Good, or John von Neumann couldn't have grown up with computers!)
(But all of them were mathematicians, and several of them physicists. Knuth, for one, was also a puzzle aficionado and a musician from his early years — two intellectual pursuits often believed to correlate with programming ability.)
In any event, it should be evident from the historical record that people who didn't see a computer until adulthood could still become extremely proficient programmers and computer scientists.
I've heard some people defend the "you can't be good unless you started early" meme by comparison with language acquisition. Humans generally can't gain native-level fluency in a language unless they are exposed to it as young children. But language acquisition is a very specific developmental process that has evolved over thousands of generations, and occurs in a developmentally-critical period of very early childhood. Programming hasn't been around that long, and there's no reason to believe that a critical developmental period in early adolescence could have come into existence in the last few human generations.
So as far as I can tell, we should really treat the idea that you have to start early to become a good programmer as a defensive and prejudicial myth, a bit of tribal lore arising in a recent (and powerful) subculture — which has the effect of excluding and driving off people who would be perfectly capable of learning to code, but who are not members of that subculture.
Seems to me that using computers since your childhood is not necessary, but there is something which is necessary, and which is likely to be expressed in childhood as an interest in computer programming. And, as you mentioned, in the absence of computers, this something is likely to be expressed as an interest in mathematics or physics.
So the correct model is not "early programming causes great programmers", but rather "X causes great programmers, and X causes early programming; therefore early programming correlates with great programmers".
Starting early with programming is not strictly necessary... but these days when computers are almost everywhere and they are relatively cheap, not expressing any interest in programming during one's childhood is an evidence this person is probably not meant to be a good programmer. (The only question is how strong this evidence is.)
Comparing with language acquisition is wrong... unless the comparison is true for mathematics. (Is there a research on this?) Again, the model "you need programming acquisition as a child" would be wrong, but the model "you need math acquisition as a child, and without this you later will not grok programming" might be correct.
Yeah, I think this is explicitly the claim Paul Graham made, with X = "deep interest in technology".