Self-taught. My dad brought home a decommissioned server (a 286 with 6mb of ram and a 40meg hard drive) one day which had DOS on it, but not much else. Naturally I found qbasic and the sample games that came with dos, and was able to start figuring things out. I played with batch files to create a menu system for the computer, but abandoned that as silly once I started to understand the computer better. He got me a copy of the Borland C++ compiler; version 3 as I recall. It included a thick reference manual that explained a lot about C and C++, so I was able to puzzle some things out from that (although it would be years before I really understood what I was doing enough to actually use a pointer correctly; there were so many crashes until then).
I discovered Javascript when I started poking around the source of the Mozilla Suite (which eventually became Firefox). I learned Scheme from watching Abelson and Sussman lecture from SICP. Learned some Erlang at some point, etc, etc.
I started all of this when I was 9 or 10. I started programming professionally after I discovered Javascript, which was my first year of college.
I discovered Javascript when I started poking around the source of the Mozilla Suite (which eventually became Firefox). I learned Scheme from watching Abelson and Sussman lecture from SICP. Learned some Erlang at some point, etc, etc.
I started all of this when I was 9 or 10. I started programming professionally after I discovered Javascript, which was my first year of college.