I started tinkering with HTML and the like in about 4th grade and went from there. By 5th grade I had started toying with PHP and by seventh I taught myself Java. I'm pretty sure I went that direction due to the lack of C/C++ books at the local bookstore

. No complaints though, I think it's a ton easier to experiment with Java than C, especially on Windows due to the number of easily-usable tools.
Around this time I had also discovered Linux. Once you get basic system usage down its not too long before you figure out how to hack bash/perl/python/ruby/etc code if thats the route you want to go down.
This year I formally took a C class which helped a bit (my C skills were a bit rusty, and still are)- it was a ton of fun, and myself and some friends ended up spending our free time inventing new ways to deliver Rickrolls to people

. By the end we made sure the entire class knew about them (including the teacher!)
But I think the biggest drive towards learning was books (I've managed to collect quite a few!), and most importantly, boredom. Lots and lots of it. Where else would you find time to experiment with all of this?
