Motivate Your Learning by Finding an Interesting Project
While learning a new programming language just for the fun of it can work, I find I'm much more motivated when I have a project in mind. Having a project allows me to focus. Rather than diving into the reference manual and becoming a language lawyer, I look around and learn what I need to learn to complete the project.
Sure, this means that I haven't looked at all of the language, but I've learned enough to get my project done. In the process I've demonstrated to myself that when it really matters to me, I can learn new stuff really fast. In part this could be because when it's my project I'm willing to keep asking questions until I get an answer I can understand and use.
Think about it for a minute. When you've been in classes or following a Teach Yourself book, has doing the exercises really motivated you and fired up your passion for learning? Has it really been a fun, energizing experience? Or was it more of a dreary "Not 'Hello World!' again!"
No wonder being taught a programming language is so deadening. Not only is it impossible to ask questions, but you're expected to feel motivated about solving a whole bunch of uninteresting toy problems, where you're expected to reproduce the "correct" answer.