At this point, only other tech startup people care what stack you are using, and they probably aren't going to be your customers. If you have the ability to make something in a technology you already know, why waste more time learning something you don't, like node.js? Just make something already!
Agreed. This post comes at this in a way that's indicative of the broader mentality about startups these days. The word startup no longer defines a small but rapidly growing business. Instead it now means a website or some sort of technology with "app" appended to the end with young founders and millions of dollars worth of funding plus hype. The stack you use is now a way to judge your product. If Facebook were to be up and coming today they may very well be laughed out of the valley for using lame ass PHP and old stale MySQL to start instead of some über cool nodejs, Rails, MongoDB, plus Scala and CoffeeScript for some reason. I think it's nuts that the tech stack you use is somehow more important than the actual product. If I cured cancer with HTML4 I'd be laughed at. But if I did it using nodejs I'd be immortalized as the greatest man ever.
I beg to differ. These technologies come with real, actual benefits -- one of the biggest ones for most of these being speed of execution. Many of them fit much better with agile development methods. Others that you list offer scalability benefits, which will save headaches down the line. If you're a tech startup that doesn't at least understand these benefits and has a good justification for why you've gone with other technologies, I'd have questions about the skill level of your technical team. If you already know PHP, learning Rails to start building is like, an investment of a week (or should be if you're a decent programmer). Have you read up on the hoops that Facebook has had to jump through to make PHP scale for them? The future costs of trying to hire excellent developers when you're bound to a stale tech stack is another significant consideration.
I'm not disagreeing that you can make a good product with old tech, but I'd contend that producing a good product and using some of the newer tools are not unrelated, on a number of levels.
I've made good money fixing utter crap written by people who decided a new startup is the best time and place to learn a whole new technology at the same time.
There's so many ways for a startup to screw up - marketing, financing, hiring, pure bad luck - without throwing the whole unknown of an unfamiliar language or framework into the mix.
Unless you actually need new tech to solve a specific problem, use what you know.
I've never heard anyone say Java is slow when compared with Ruby or Python. In fact I'm looking at some benchmarks that show the complete opposite. And as for PHP, Facebook is a completely different company with traffic very few startups will ever see.
I also don't think the argument that Java or C# is somehow a worse fit for agile development is valid. Sure, I might be able to get my app out more quickly with Python or Ruby, but long term it's not like I'm adding thousands of lines of code a week. A startup takes a long time to build, if you are still writing a ton of code half a year out and you aren't making revenue, I think you should take a step back from coding and focus on business development.
I think agile development is hindered or bolstered by your tools (using git instead of svn, for example) more than the language you write your program in.
I'd argue that if you have no experience running a business, web-based experiments are probably the best bang for your buck in terms of learning the basics with minimal risk.
If anything, though, I'm looking at a much wider definition of "startup" than just the technology kind... so I definitely don't think the "tech stack" is somehow more important...