I've been using Node.js for 4 years now and it's my favourite runtime (I've been programming for 13 years).
I have a broad background with experience in Java, C/C++, Python and I've done AVR microcontroller programming in assembly and C so I know what I'm talking about.
I've found that most people who complain about Node.js tend to lack experience.
I think it's one of the best runtimes/languages for building web applications - In the same league as Tornado (Python) and Go.
Personally, I like it more than the others because I like JavaScript and it makes it easy to context switch between frontend and backend work.
People who have a background in statically typed languages tend to dislike JavaScript because it gives you more flexibility (and more ways to introduce issues into your app if you're not careful).
If you're just starting programming or you started with another dynamically-typed language, then I would highly recommend learning Node.js.
I have a broad background with experience in Java, C/C++, Python and I've done AVR microcontroller programming in assembly and C so I know what I'm talking about.
I've found that most people who complain about Node.js tend to lack experience. I think it's one of the best runtimes/languages for building web applications - In the same league as Tornado (Python) and Go.
Personally, I like it more than the others because I like JavaScript and it makes it easy to context switch between frontend and backend work.
People who have a background in statically typed languages tend to dislike JavaScript because it gives you more flexibility (and more ways to introduce issues into your app if you're not careful).
If you're just starting programming or you started with another dynamically-typed language, then I would highly recommend learning Node.js.