I've read that an effective approach to improving your programming skills is to learn new languages and frameworks.
How do you approach learning a new language/framework?
Even with the wide range of information available online, I often find myself looking for a good book on the language I'm interested in. With the basics understood, I then feel comfortable to begin to look elsewhere for further information. However, I recently began to look at the EXT JS javascript library and without a book to hand I found myself digging into the documentation in combination with the demos/samples provided. I was 'hands on' writing the code and seeing what would happen far earlier than I normally would be.
I'm interested in how others do this. Do you have a consistent approach when looking to take on new skills?