I learned partly from reading the manual, but I found that most of the time, the manual wasn't enough! When Visual Basic / Visual C++ came out, the built-in help was a useful time saver, that wasn't completely sufficient either. Turns out that I had to spend a considerable amount of money on books. Two books that cost a lot of money, but also helped me learn a lot during those early days: Mastering Visual C++ (Michael J. Young) and Tricks of the Windows Game Programming Gurus (Andre Lamothe). I liked these books so much, I've still kept a copy (unlike my Quickbasic / Visual Basic books which are probably all thrown away). The most useful books usually came with some form of example code. Better still, some came with the code on a disk (or on a CD). Lastly, I also took courses, from a computer club at school, and from courses during university days.