

Getting out of your comfort zone with Node.js - crnka
http://blog.count.ly/post/26159130586/a-story-of-getting-out-of-the-comfort-zone-with-node-js#disqus_thread

======
Ygor
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.

~~~
jamesbritt
_... 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.

~~~
Ygor
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.

~~~
onur
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.

~~~
benologist
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.

------
Argorak
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)?

~~~
powerslave12r
Adding to

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

------
gambler
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.

------
dsirijus
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.

~~~
jerf
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/>

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

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

