Best way to learn something new
I have been asked numerous times to suggest some good books for Java, PHP , Sql , C# and what not. I have always had the same suggestion - examples from existing codes or online tutorials. I prefer books as reference materials and not as learning guides. Whenever you need to learn anything, do it by following examples from codes written by others and try to modify them. Online tutorials are also very helpful in this respect. I have learned all the languages this way. I do keep books though; however, they are for reference purpose only. If I am stuck at a particular terminology (though Google would be my first choice), I sometimes seek help from the books that I have at my disposal. Hope this style of learning helps you too.