Stackoverflow is done in .Net. So nothing bad about C#.Net or windows technology.
My first startup was in C#.net because
a) all founders are familiar with C#.
b) visual studio was and is still very developer friendly for debugging, etc.
The startup was a massive failure for business AND technology reasons.
Whatever technology you choose, you need to consider whether you are skillful/good enough to use that technology to launch in X years.
As you can see, the criteria we had above was not strict enough. We had no idea how long we need to build the thing. We just happen to be familiar with C#.Net that is all.
None of us have any experience building anything close to what we wanted to build.
After a while, the server fees, etc cause us to ditch C# and rewrote the whole thing in php. That is another story and another mistake business-wise.
The point is this technology you are going to use, it does NOT have to be cool, edgy. You want to build a webapp. So choose one that gives you the best chance. What gives you the best chance?
Choose the technology that the person(s) doing most of the programming have ACTUAL experience building a similarly complex application BEFORE
Please read the above 10 times.
If i were to address my younger self from 3-4 years ago, and he would say,
"But I have no experience doing anything of the complexity I have in mind IN ANY LANGUAGE. So how do I choose?"
The $50, 000 dollar answer is (yes that is how much I wasted learning from my mistakes):
Choose one that is most forgiving to your learning development.
How do we define forgiving?
For example, .Net relies on Windows server. And Windows server are more expensive than Linux servers. That is a fact. Even if you have Bizspark's licenses, you better make sure you need to factor in bringing in money once your licenses expire.
Do NOT assume that you would be able to learn C#.net in 3 years. It is hard to say. For me, it just did not work.
I tried RoR before. I once read some article about 2 investment bankers with ZERO programming experience succeeded with some webapp about traveling in Techstars program.
They use RoR.
I have programming experience. But RoR just didn't work for me.
I bought books from amazon etc. I tried. Seriously gave it my best.
Finally I settled on Cakephp. It is good enough for me to have the best chance of relaunching another webapp. Forgiving enough for me to learn at my own pace.
Also just like you found better girlfriends not because they are better, but because you are a better person after more experience, perhaps, I also had gotten better as a programmer
So this is not about what is a better framework/language. Or that Cakephp is the best I have used. Perhaps I have, finally, become a programmer good enough to build the webapp I had in mind.
It is about what works best for you to get closest to launching.
Oh here is a freebie.
After 6 months, when you debut with an alpha or private beta and you get customer feedback, and you feel like rewriting the whole thing in a new language, should you?
Answer:
NEVER. NEVER. NEVER.
There is a JoelOnSoftware article about rewriting software versus refactoring software. I am too lazy to find it.
He suggests the same.
Take it from someone who chose the wrong technology and then rewrote the whole thing in php (no framework) and then dump the startup in the end. And spent $50, 000 in the process.
It is like marriage. Choose a technology and till death do your startup and the technology part.
Okay, I exaggerate, but only because it is far too easy to think all your programming situations can be solved by another language/framework. Just like thinking you would have a better marriage by changing another person. It is far better though more work to work on yourself or your programing practices.
Good luck. And keep learning. Please for your sanity's sake, strip the features down to the absolute bare minimum. Go google for Minimum Viable Product (MVP).
That is more important than what technology you choose.
So spend adequate time planning/designing this MVP.
Planning is important. Plans are not. You may need to ditch your plans after spending 4 months planning this MVP because you need to react to changing circumstances or competition.
It is okay. The 4 months planning did not go to waste.
You would now have more domain knowledge than you had before the 4 months.
So even if its a hastily re-drawn plan at this stage, it should be markedly better than your first draft 4 months ago.
Good luck!