Ask HN: What are the major benefits of learning Node.js?
The main reason I read everywhere is scaling, performance, etc.
Do you use Node.js? If so, what for?
I guess my problem is that I am so comfortable with HTML5/CSS3/jQuery and PHP/mySQL, that I find it hard to take the leap to learn all these new libraries and technologies. I have been able to do everything I need to do so far with the languages I know, so convince me why I should learn Node.js and other libraries. I mainly build Web Applications.
Thanks!
12 comments
[ 2.2 ms ] story [ 40.7 ms ] threadI'm using Node.js since almost 2 years now besides other technologies like PHP and Ruby. During those 2 years my javascript knowledge and understanding grew a ton compared to just "playing" with jQuery, Backbone etc. Also my understanding for asynchronous code (both javascript and non-javascript) increased a lot.
If you don't care about Node.js or don't like javascript (on the server), try Ruby or Python or Scala or whatever. There are so many different and awesome things out there, especially for building web applications. It would be a shame to work with PHP/MySQL all the time.
What really kept me in developing Node.js after the first few weeks was the amazing community. Basically everything is Open Source and happens on Github. New development happens basically on a daily basis, really impressive. And there a tons of awesome modules out there, from template engines to testing libraries.
So bottom line: I don't need to convince you to try Node.js, but I do want to convince you to try something else (not just in terms of languages and libraries - try different databases like Postgresql, MongoDB, CouchDB etc. as well. Working with MongoDB for more than a year also taught me a lot).
Btw: "Scaling" and "performance" doesn't really cut it, since Node.js isn't necessarily faster than other tools, it always depends on the type of application and the developers/admins knowledge.
I have been learning things that can add to my current programming practices, and I know that Node.js can be another one of those things. I'm going to implement a little Node.js here and there in my clients projects to start to get the hang of it. I started to learn Ruby through Treehouse, but I just didn't really care for the style all too well. I think if I were to learn another language it would probably be Python.
I keep hearing a lot about MongoDB. I should look into it some more. Especially since I won a startup pack that had a $1000 credit to MongoHQ. I also got a $1000 credit to EngineYard and $500 to to Code Climate, but since I don't develop in Ruby I haven't found a use for them.
Thanks again for taking the time to respond and give me some things to think about. I know if I want to be apart of a startup I am going to need to have a base knowledge of a lot of different technologies. Right now, sticking with what I do best is working, but I think it will only work for so long before I get bored and sick of it.
And what did you do to win that competition?
As for the competition, it has http://www.startuppack.org it was more of a drawing than anything, but I had to submit my application via their API. I won quite a bit of cool stuff and will utilize most of it, but some I won't. I'm just happy to have won, I've never won anything big like that before.
* One Language : If you're going to be using a whole bunch of AJAX or Websocket style long polling, why not keep as much as you can in one language? Might be easier in the future for training.
* Event Driven : Because you start expecting events and callbacks, it's a different style of organization that you might confuse when working in more procedurally processed languages (PHP).