I'm a backend programmer who works mainly in Python. I'll probably never want to be a full time front end developer, but with the goal of growing my skill set, I would like to become at least passably proficient in JavaScript. It seems like a language that is wearing a lot of hats nowadays, and if nothing else, I'd like to a little more knowledgable about 'their world' when I'm working with front end guys.
We're using NodeJS for some server side work at my company, and I was curious about it. I've found a few good tutorials and it seems interesting. It seems like it might be a good way to familiarize myself with JavaScript, since it comes at it from an angle that I understand -- server side programming.
But I am also a little worried that if I learn both at once, I won't be able to keep track of what's 'Stock JavaScript' vs features that are particular to NodeJS.
What do you guys think? Is bootstrapping myself into JavaScript familiarity by learning NodeJS a good idea? Or will I just confuse myself if I jump into Node without a solid understanding of the fundamentals of JavaScript?
If anything, the potential problems will be in the reverse: NodeJS is closer to 'true' JavaScript (as in ECMAScript 5) than you can reasonable program on the client side, where lots of native javascript features have to be avoided and re-implemented with libraries.
It's easier to learn Javascript in node because you aren't dealing with HTML, DOM, etc and can treat it like "just another language" - this is what I did. Node doesn't "add" much to JS, unless you count using CommonJS modules, but that's more of a library and conventions than syntax.