Successfully learning a programming language is very similar to how you would approach learning a real world language. You start off with the basics. Once you've gotten good at that, you move on to something a bit more advanced. This whole process just keeps repeating itself, and it never really ends. None of us ever truly stop learning. It just requires starting somewhere. To help you with the "starting somewhere" part is where this book comes in...