

Ask HN: NodeJS for large scale projects - RSkuja

We are planning large scale and quite complex project with possible 500k or more users(Well u never know) and considering between two development options Python with Pyramid or NodeJS. So my question would be.. Would you call me mad to take NodeJS for this kind of project?
======
SkyMarshal
Why Pyramid? Why not Tornado, or better yet Tornado on PyPy (if you don't need
any non-PyPy-supported libs)?

<http://www.tornadoweb.org/>

<http://github.com/facebook/tornado>

Tornado is Python's best counterpart to Node.js, and was battle-hardened by
FriendFeed b/f Facebook bought them. Now used by Quora, among others:

[http://www.quora.com/Tornado-web-framework/Who-are-some-
famo...](http://www.quora.com/Tornado-web-framework/Who-are-some-famous-users-
of-Tornado)

~~~
przemoc
Due to its nature NodeJS is performance-wise still a better solution than any
Python-based one, at least for now. And it's async in core and by rule, thus
nodejs modules are async too, yet no async-motto is coupled with Python, so
it's much harder to get async-ready libs suiting Tornado. Therefore COTS-wise
NodeJS is actually also a better solution.

But in the end the most important thing is whether you're more familiar with
Python or JavaScript and which solution will be more productive for you.
Unless you're going for really large scale project and want to shorten your
time by using existing modules, Tornado is obviously as good as NodeJS.

Loosely relevant: <http://amix.dk/blog/post/19484#Comet-with-node-js-and-V8>

~~~
SkyMarshal
Right, I know the advantages of Node over Tornado/Python, but my comparison
was Tornado vs Pyramid, not Tornado vs Node.

Node makes sense for the OP's brief project description, but if you're also
considering Python for a _"Large scale and quite complex project with possible
500k or more users"_ , why Pyramid and not Tornado?

------
karterk
My advice here is not to plan for premature optimizing and scaling. Between
Python, NodeJS and Erlang you have three options to choose from. However,
trying to choose between them should basically come down to your personal
comfort level and knowledge with each language.

I am just assuming here - but you will probably not reach 500k users
overnight, so building on something which can allow you to maintain a good
solid codebase would be more important.

NodeJS is still not stable (relatively speaking to Python), but from my own
experience and what I have read, it does scale well. What you have to be wary
about is some frequent changes to the API etc.

~~~
RSkuja
Thanks for good answer, that's what i was thinking. Just had to approve it.
Gonna go with python, have good past experience with it and that would be way
more safe than risking it with node.

------
zura
I wouldn't choose JavaScript language for a large scale project.

~~~
struppi
Me too, but for me this is just a gut feeling. I guess the OP was more
interested in possible justifications for a decision than the decision itself.
Can you provide some reasons for what you have said? I would be interested
too.

I personally would neither consider Python nor NodeJS for such a project if it
was somehow time critical. The reason for this is that I don't know any of
those enough to be confident that I could finish the project on time.

So the best advice I can give here would be: If you have a hard deadline that
is very close stick with the technology you know better. Otherwise stick with
the one that is more fun. I _guess_ that you can resolve any performance
problems in both technologies. And when your site starts to take off you
probably have to re-write and re-design lots of your code anyway (I don't know
where I read this first, but it was a startup that took off).

~~~
RSkuja
What i did not mention is that it's gonna be quite lean startup, so time is
not that big pressure. And Python/Javascript dev time seems quite equal to me
while not on big scale, don't know how its gonna be when I would have to scale
it up on Node.

