"I've been a full time, professional custom software developer 20 years. I learned exclusively by studying books like this. THIS MAY BE THE BEST BOOK I'VE EVER READ on software development. He takes you from 0s & 1s (the beginning) through complex programming. He covers *everything* including user interfaces, internet connectivity, data storage including local databases. He thoroughly covers graphics and visual effects. And more. He provides examples that he expects you to work through. They really WORK! He teaches like a college professor. He starts with very simple concepts. As he teaches, in his examples that you reproduce he increasingly expects you to know (remember) how to do what he already taught you. Little by little, the applications you reproduce get more and more complex."