I learned when I was young. I started with Basic for Dos and I loved it. I actually read the manual, I was 7 years old. I didn't learn it well, mind you, but I learned it enough to make text based programs and spur me onto becoming a professional programmer later on.
I took programming in High school as well, then again in collage majoring in Computer Programming. The most knowledge that I learned was after collage in the actual field, programming for a major company. I feel like I became a scholar at that point, learning on my own and actually loving to program. I read a lot of books which took me into the professional field, I feel.
So, how did you start and end your programming learning? If you can end, I am still learning.