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?
Why Pyramid? Why not Tornado, or better yet Tornado on PyPy (if you don't need any non-PyPy-supported libs)?<p><a href="http://www.tornadoweb.org/" rel="nofollow">http://www.tornadoweb.org/</a><p><a href="http://github.com/facebook/tornado" rel="nofollow">http://github.com/facebook/tornado</a><p>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:<p><a href="http://www.quora.com/Tornado-web-framework/Who-are-some-famous-users-of-Tornado" rel="nofollow">http://www.quora.com/Tornado-web-framework/Who-are-some-famo...</a>
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.<p>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.<p>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.