I think the problem is not learning from PDFs, the problem resides in the scripting languages it self (Ruby, even python is involved
![Shocked :o](http://ez.feedthetrolls.net/Smileys/default/shocked.gif)
). things differs from version to another one of the language (it's just like software). I think they should work on a standard version of the language, rather than deleting stuff and adding some more creepy stuff.
There is nothing wrong with books, but in my opinion, i think the easy way to learn a new language is to read a quick tutorial and have a general idea about the programming language. then move to read some book, doing a lot of practice, and tuning codes...
And when done from that, you start the real learning process which is working on some juicy projects... you can't say that you know a programming language without doing some projects on it.