I think the best way to learn any programming language, is to think of a project you're enthusiastic about, and try to build it using that language. Then only refer to resources like docs and guides, when you don't know how to do a thing.
This gives you the drive to finish something you're excited about, and avoids the monotony of reading through documentation, a lot of which you won't use.
In real-language-learning, they call this the map / territory distinction. You could spend all day looking at an overhead map of a place, but you won't really know it until you actually go to that place and experience it.
In learning a musical instrument, its called the suzuki method: spend 99% of your time playing your instrument, and less time memorizing other things.