## Patience You need to keep it. Don’t rush, it’s alright if you are not getting it. Specially if you are from Python world. Javascript is to Python what India is to New Zeland. Things are not actually as complicated as they appear, you just need to keep little patience.

Coffeescript is your friend

Coffeescript helped me to learn to think in javascript more than any book. I am not saying that you should use Coffeescript instead, but use it to learn javascript. If you are unable to think something in javascript [list comprehensions?], do a simpler version of it in Coffeescript, generate javascript and watch and learn. Do not copy-paste generated Javascript. Even if you simply copy generated js, type it down.

Emacs helped me a lot in this. I created a buffer with coffee-mode which was not visiting any file, and compiled coffee to see javascript in a split window for comparison. It really helped to avoid creating temporary files.

Don’t rely too much on books, try something real

Books can do only so much to help you. Elequent Javascript is great (or so they call it, actually I never got why it’s great), but what a real project can teach you is on another level. Go out in wild and try to do some real project. Do something for fun. Try to build something you are really going to use. I built a simple password generator because I wanted to use it. Don’t hesitate to reinvent some wheel.

Avoid DOM and UI

DOM manipulation and Javascript have their own concepts which are on times confusing to foreigners. Specially if you are already infected by JQuery. Make your aim to learn Javascript, as a programming language. Do something you do when learning a new language. Make self-contained scripts which does something by their own and don’t need browser to work. On the next step to getting started, when you ‘think’ you know some javascript, try to make something that involve as little DOM manipulation as possible. Try making some simple nodeJs module, or some sort of browser extension.

Focus on getting it done, learning is a bonus

It’s better if you choose to do something you want to use, or at least something you find really interesting. And focus on getting it done. All ninja skills you want are a bonus. Remember those old Jackie Chan movies in which kung-fu master make him do his household chores? Just focus on washing clothes, you’ll learn iron-fist style without knowing it, as a bonus.