I started programming when I was 12(C++ was my first language and I still use it). I've done quite a lot since then but I wouldn't say I've mastered all the aspects of the language. It's probably going to take me more than 1 year in order to become advanced in the ways of C++ :P
I started at 11 with "The Games Factory", which was event-grid programming. I got the basics of logic from it and then a few years later learned C++ so I could write extensions for the software, I think when I was 14 or 15.
At age 12, I learnt python and then at age roughly 15/16 I started learning C++ and I understood functions, OOP, memory management and templates within about 3 months. And was able to use them in a useful program after about another 6 months.
When I started at 8 it took me 4 months approx. to learn all the basics including Memory Management. Then from 8 I programmed Logical Programs such as Palindrome , Prime , String Reverse and such which helped me understand programming in logic much much clearly and better. Then from 9 - 10 I was learning about Theory. Then from 11 - 12 I stopped programming in console and moved on to GUI which took me quite a bit to be good at. Then from 13-14 learnt Networking/Network Security. Finally from 15 on wards I am learning about:
[+] Hooking [+] Anti-Debug \ Anti-Hack
[+] Injection [+] Exploit Finding
Till now I only covered\ covering:
[+] Hooking (50% Complete)
[+] Injection (50% Complete)
[+] Exploit Finding - Did this Excellently
But I still need to cover:
[+] PE [+]Anti-Debug \ Anti-Hack
Of course these personally are more harder area of Programming you must admit!
After this I am most likely going to learn C# & Objective-C
I am picking these as C# is very much used in Real Software Development Offices and it is very similar to C\C++ so I can easily grasp it then
Objective-C is a Alienated C if you want to know but it is useful in the Real-World mostly in developing Apple Mac - Iphone Applications.
Of course I will learn Java in few years or in 6 years time.
To be honest I am the person who wants to perfect any thing I concentrate on, so as a result I spend almost 6 hours programming daily. My time table:
[*] Wake up - 7:00
[*] Brush my Teeth - 7:10 - I like my teeth so I take time
[*] Eat Breakfast - 7:40
[*] Get Dressed for School - 7:50 TO 7:55
[*] Go and Wait for Bus to go school - 8:20
[*] Get on the Bus and go school - 8:40
[*] Talk to my friends before school lessons start - 9:25
[*] Lessons - 15:15
[*] Take Bus Home - 15:40
[*] Get Changed - 15:50 - 15:55
[*] Program - 20:00
[*] Eat Dinner - 20:30
[*] Program - 21:30
I know this sounds crazy but to be honest I am addicted and enjoy programming so you see.
But on some days I simply enjoy and go out for social gathering and such with my friends.
It's interesting to see how the new generations learn.
I started programming in high school. I don't exactly remember how I found the time to learn all that, but in under two years I had a decent grip on the PDP-11 and 8088 assembly languages, in addition to the BASIC that was taught in class, and even wrote a demo for school that they used later on, which combined math-inspired designs and "special effects" produced by writing things into the OS memory. The demo scene of the late 80s was a very big inspiration.