Too often Startups get caught up on this fundamental question. I was quite guilty of this in my first business venture and the web applications weren’t even the products our business was selling but rather the eCommerce tools for running it. I just recently almost got sucked in again.
When you think about it your brain can hurt as there are so many considerations. Are there enough developers, and support? Is the platform efficient? (makes the most of hardware so you can do more with less?) Is it scalable? Is it fast? So it is clear, when I say “platform” I am describing the programming language coupled with it’s web server. So for instance, Python on Django vs Rails on Thin vs Rails on JRuby on Sinatra vs Ruby on Sinatra, etc.
Well I’m going to say something that may seem counter intuitive here but in reality most of it is hogwash. The truth is hardware is cheap. So scalable and fast while important are not your primary concern with selecting your web stack. Good developers with a support system is really all you need. Good Developers will keep your application server “stateless”. That is they will keep your systems state in your database (which can and usually is eventually offloaded to it’s own server) or in cookies on the client’s machine. This gives you the ability to scale horizontally. Meaning that you can quickly and easily add hardware to the problem thereby scaling your application and making it faster in one fell swoop.
Now none of this is an excuse for sloppy code or poor frameworks but that’s why I said all you need is good Developers. Most of today’s programming languages can handle a great deal and the truth is that you get far better performance from properly written code then by using a particular programming language/runtime over another. So why spend days on the web researching and gathering opinions on the subject? My suggestion is to divert that energy into finding the right Developers who can pick the right tools for the job based on your business requirements, not on your paranoia for speed and scalability.