Hacker News new | past | comments | ask | show | jobs | submit login
Getting out of your comfort zone with Node.js (count.ly)
48 points by crnka on July 27, 2012 | hide | past | favorite | 13 comments



We were used to building stuff in static, strongly typed languages. We had powerful IDE support, stable libraries, old and proven frameworks. There was always the right tool, the right library, the right idiom, the right way.

There was confidence and security in the well known world of stuff you already tried and built. The confidence that came from the knowledge of how difficult or easy something could be. The skill of estimation was fine tuned, and the feeling for effort was strong.

It was not the fact that nothing could go wrong that was comforting. It was the power to know what, when and where could go wrong.

An anxiety-neutral condition, with limited set of behaviors to deliver a steady level of performance, usually without a sense of risk.

A true comfort zone.

Then we chose Node.js for a project. We are yet to see how wise a decision that was business wise, but it was certainly good for the soul.


... but it was certainly good for the soul.

How so? Are you building new kinds of applications that you couldn't or wouldn't have built using familiar, reliable tools?

I'm curious because there's a sort of risk for risk's sake feel to your comment.

It seems like loosening the bolts on a car and then driving to the same old places; there's a thrill to be sure but you don't end up anyplace new.


Maybe that was my point. I am not sure. You see, a new technology was considered and eventually chosen because it was a different kind of project. And so it happened that Node was a perfect fit for the job and a good opportunity to try it out. It is still to be determined if the choice was correct.

It is better to get out of your comfort zone not by doing the same thing in a new way, but by doing a new thing. You are bored with your job? Its not Java, or c#, or c that is boring. It is the stuff you are using it for and the way you are using it.

Anyway, Node is an excellent tool. Just don't use it as an easy way out of your comfort zone.


The main point of my blog post was to show our positive experience by using something new to build something new. I'm not talking about renewing your existing backend, changing your perfect PHP implementation to Node.js, I'm talking about our story of choosing a platform for our new project and suggesting people out there to be open to trying new platforms according to their needs. I know the feeling, I did the same before. I have used PHP for projects that I had better alternatives for, just because it felt comfortable and hassle-free.

In our case we have tried several other platforms/languages and the best fit was Node.js for us. “Do the research, be a developer not just an X language developer” would probably sum up my whole point.


I think there was some really awesome benefits of nodejs that are worth mentioning. I recently finished migrating our old .NET API to NodeJS and found:

1) persistant connections, we deal with massive concurrency and remote connections to just about anything external (even on same network) could be saturated and overwhelmed so quickly

2) pseudo-caching data in the background, things like game configuration etc we just keep loading over and over on an interval so wherever possible we just have whole mongo collections and db tables sitting there in ram always fairly fresh

3) mirroring our application-wide redis cache locally on each server in the background so whenever we do get a cache hit it's insanely fast

These are probably the coolest things I found moving our analytics api to nodejs.


tl;dr: we tried something new, namely node.js. We liked it. You too should try something new from time to time.

What's newsworthy about this post, beyond being positive to a project that everyone seems to like (including me)?


Adding to

  if buzzword_count['node.js'] > x: required_qualification_keywords.append('node.js')


Thank you. The article was not easy to scan quickly - too few paragraphs.


Because occasionally posts tend to focus around people defending their well worn, trusty tools against these new upstarts.


I am so tired of reading complaints about PHP performance only to realize that the author uses some bloated, over-engineered framework like Cake or (much worse) library like Smarty. What do you expect?

Yes, high-level design matters. Ever since I switched to my own framework in 2005, most of the pages on my websites generate in less than .1 second, and that's without extensive caching, often on cheap VPS. There is nothing fancy about it, just simple, straightforward system design that doesn't fight the language and pretend like I'm coding Java.


I've rewritten entire python codebase of my company in node.js several weeks ago.

I like the 'purity' of it all now. It irks me still that js isn't really comforting at actual scripting.


That's a real pity. You probably would have been hugely better off with gevent instead. Using gevent isn't quite as good as using a language with a true preemptive runtime, but it's way easier to work with than nested callback spaghetti.

Anyone else considering Python -> Node, look very carefully at gevent first. Not only can you save the rewrite, you can end up with a better solution at the end too.

http://www.gevent.org/


Looking at the changelog and the pace of releases is very heartening!

https://raw.github.com/joyent/node/v0.8.4/ChangeLog




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: