For me it was exactly the opposite. I started learning programming at 13 reading the zx spectrum manual chapter after chapter until I came to sin and cos which I did not know. My parents hadn't studied, so they could not tell me. Instead of just skipping that chapter, I gave up programming. Much later I studied economics. Working as an economist I discovered the fun of programming with visual basic, and then decided to become a programmer.
If in 1983 I could have googled sin and cos or read about it in wikipedia, I would have wasted much less time.
That makes me feel really sad. My epiphany was your iron curtain coming down.
I can see how. In fact I had the same reaction initially (and my parents are graduates, but they don't know the first thing about maths, so they were no help to me either).
I have no idea why I wrote the program to plot a circle that made it obvious what sin and cos were.
In fact I think I might have misremembered my own story. I had a ZX81 first, and I don't think that had a circle function, so it may be that the ZX81 manual explained how you could use SIN and COS to do that.
But I think we can agree that google and wikipedia are wonderful things. The upcoming generations of programmers and mathematicians are going to be Gods. How could they not be with a library like that!
In fact I think I might have misremembered my own story. I had a ZX81 first...
I think you're correct here. I had a ZX81 first too (then various Spectrums, a VIC-20, and a Dragon 32!) and I also seem to remember the ZX81 manual telling you how to draw straight lines first, with FOR loops, and then progressing to circles.
The upcoming generations of programmers and mathematicians are going to be Gods.
Google and Wikipedia are awesome. I would have had my head buried in them all day if they had existed when I was a kid.
But I do worry a little about the next generation of programmers. Whenever a mum asks me what to recommend for her kid, who's fanatical about computers and just wants to dive in and write some games, I'm really at a bit of a loss for something to suggest. I usually go with Python, but it sucks to know that the kid in question is going to have to do some extra work to get things like graphics and audio going.
Not just LOLCAT, DailyWTF, etc. but also HN, Slashdot, etc. Not just I waste a lot of time reading the articles, I probably waste more on reading the comments... while keep delaying work at hand.
Oh don't be sad. I'm overdramatizing, there's really no way to be sure that I would have continued programming if I had got past that hurdle. Or I might even not have enjoyed it. Maybe I needed to see the ugliness of economics very closely before I could really appreciate the beauty of programming.
Luckily the internet bubble came along just at the right moment, made it really easy to become a programmer on the job and now everything is fine.
And just fwiw, while I'm sorry to hear about your experience. I totally agree with the original article.
I found out about SIN/COS a while before I really understood what they were. :) I treated them as magic keywords and used to just plug in weird functions to see what turned out (sin(x)+cos(x), sin(cos(x)) etc).
Sometimes we take things like portability and platform-independence so far that we end up complicating things. As an example, with Turbo Pascal and DOS, I could just treat the video buffer as an array and write to it. Under Linux (even in the old days), I wasn't able to figure out how to access the console display as a array. The "right way" was to wrestle with Curses. I declined the invitation and stuck to network/command line programs. :)
While I understand that everyone needs help, I do think this also highlights a not uncommon lack of drive to go figure it out yourself.
Among computer programmers this behavior is particularly common. I have a hunch that it's because smart people (programmers) are of often afraid of "starting over." And honestly I consider this the locus of pointless debates about programming languages, text editors, frameworks, et al.
To be like a kid again - and feel out of your comfort zone is the essence of self education. Children are little more fearless in this regard. If they are not, they should be reprimanded. To see this behavior in adults is lamentable (though understandable considering our nation's pathetic public education system).
I also remember not knowing what sin & cos were - but I also realized that they didn't have that much to do with programming in general. There was plenty of stuff left to learn.
I took a somewhat similar route. My math education after grade school was poor. I had disinterested teachers with the exception of one, under whom I advanced quickly and almost enabled me to catch up with my peers, however under the next math instructor and those that followed I again struggled and barely scraped by, often by repeating semesters.
Without the math requisites, I was only able to take introductory programming courses in High School. Those teachers recognized my interest and feed me more advanced material while I was with them, but when I had taken the only classes available without those math prerequisites, we parted ways.
After graduating H.S. I took to writing excessively intricate batch scripts on my family's XT, and later while working on a help desk I checked out this new "HTML" and "JavaScript" stuff by way of WebMonkey tutorials and free hosting on a new service called GeoCities.
Years later, with ASP/VBscript, PHP, and bash experience all from after-hours activities I transitions from systems support and administration to programming as my career, after which my experience and expertise has mushroomed.
I couldn't have come all this way without the resources of the Web to back me up.
If in 1983 I could have googled sin and cos or read about it in wikipedia, I would have wasted much less time.