I am really unsympathetic to the idea that programming has gotten harder to get into. It has, but only because of the sheer explosion of alternatives drowning out programming, which is not the point people try to make. In absolutely terms it is still easy, and actually easier than ever. It was never easy, it was just one of a much smaller set of choices.
Further edit: It occurs to me I have a relevant anecdote. I was never able to get into assembler on the Commodore 64, having gotten as far as I really could with Basic. I actually had an assembler, but no documentation. I had no ability to get documentation, no idea where to find it, nobody to even ask, hardly any clue that I should be asking. I managed to wedge my computer a few times just typing some vaguely assemblish stuff into it, but no more. Today, www.google.com -> "Commodore 64 assembly" (no quotes) yields http://www.c64.ch/programming/ as the first hit.
Not only that, but getting help is crazy easy nowadays. In the 80's you either had to know someone experienced in real life, buy books, or just pootle around figuring it out for yourself.
I still have not physically met any person my own age that can program more than a little Java and I'm about to enter college. And I've never known an adult IRL that has been able to teach me any CS or programming.
Very much almost exclusively my knowledge of programming comes from reading books and 'pootling' around (and I started in 2000).
I think it's more a matter of where you live than what age you live in.
Very much almost exclusively my knowledge of programming comes from reading books and 'pootling' around (and I started in 2000). I think it's more a matter of where you live than what age you live in.
In the early 2000s you only read books and experimented and didn't use the Internet for help or as a reference at all? That would strike me as unusual, though not far fetched.
My point was merely that the Web is an amazing resource for new developers now that we didn't have in the 80s. (Or Usenet - in the 90s. I got access to the net in 1995 and my programming abilities shot through the roof within a few years merely by conversing on newsgroups.)
I think you're just taking a lot for granted. You're posting about how you don't know anyone who can program or teach you about CS on a site full of computer scientists. Nowadays you can post any question imaginable on Stack Overflow and get answers quickly, often from the world's top experts. You discount all this because you haven't met these people physically, but really, who cares? That is so much more than you have 20, 30 years ago.
"Where you live" is precisely the thing that matters least now. As long as you have access to the Internet, you're only seconds away from anybody in the world.
It's not a problem now. I have an exponentially better idea of where to look when I want answers to a question that I did when I was 12 or 13.
The single largest hurdle for learning on your own is knowing the right questions to ask and how and where to ask them. Sites like HN and SO are great but it's a matter of finding them (and neither SO nor HN have existed for very long).
The single largest hurdle for learning on your own is knowing the right questions to ask and how and where to ask them.
That's an interesting point, though pre 2001-ish I'd suggest this was easier. Usenet was the obvious destination. Groups like comp.lang.c, comp.lang.basic.misc and rec.game.design were popular and easy to find. Nowadays, there are 1001 different sites (many with poor traffic) for every topic imaginable.
Sadly, Usenet seemed to fall on its ass and be usurped by the Web somewhere between 2000 and 2003. A shame, that.
If I had known what the usenet was at the time I would have really found useful. I was super ignorant of those types of things until I was about 14 or 15.
I'll consolidate our discussion into this one thread, in saying that I did use the internet to learn but I used it rather poorly. My Google-fu was rather terrible when I was younger. Tackling a large subject like programming was not easy for me when I basically had no footholds or easy ways to enter that body of knowledge.
I cannot imagine how hard it must have been to learn how to program without the internet though I think that as we build more powerful consumer-grade computing systems, the hurdles involved in getting into programming get higher and become more numerous.
> I cannot imagine how hard it must have been to learn how to program without the internet[.]
Personally, the hard part was getting good documentation, though my parents' 286 came with a manual on GW-BASIC, which was included. I also managed to procure some BASIC documentation at a garage sale.
Basically impossible to learn computer science, though, except by trial and error. I just did things ad hoc. Experience teaches you how not to do things, but slowly.
Basically impossible to learn computer science, though, except by trial and error.
This is a good point. I'd been coding for over ten years before I was even introduced to the (actually rather important) concept of algorithmic complexity! If I'd taken CS in university, that wouldn't have been the case. Now, though, it's possible for even novices to be introduced to these topics online (depending on who they're talking to).
Further edit: It occurs to me I have a relevant anecdote. I was never able to get into assembler on the Commodore 64, having gotten as far as I really could with Basic. I actually had an assembler, but no documentation. I had no ability to get documentation, no idea where to find it, nobody to even ask, hardly any clue that I should be asking. I managed to wedge my computer a few times just typing some vaguely assemblish stuff into it, but no more. Today, www.google.com -> "Commodore 64 assembly" (no quotes) yields http://www.c64.ch/programming/ as the first hit.
Yeah, it's gotten a lot easier.