I'm currently in the process of getting to be more comfortable with Ruby on Rails and really just starting to learn F#. In both cases, simply reading a book or tutorials and following along has not been enough to really get my head around it.
First off, I've decided I have to have a project or something to work against. For RoR, there's a little site I'm working on (more on that some other time) – For F#, I'm currently working thru the 99 Problems with my brother (you can see our solutions here). When simply reading a book or tutorials you don't generally come accrossed the same kind of road blocks that you would find in a project. I think overcoming the road blocks is what helps me better understand a language.
All that being said, I think it's truly important to read as many books, tutorials and source code as you can. Authors read to become better writers … as developers we should too (See Justice Gray's blog for more on this). I have this bad habit of thinking in C#/Java/C++; this is pretty much as bad as it would be for me to try and speak Japanese using a English to Japanese dictionary. Seeing how other people code helps me stay away from that.
What are some steps that you take when you start learning a new language?