The real problem is the flip-side of something that the OP mentioned as an advantage: ASP.NET coders tend to be cheaper, less experienced, and hence less likely to know about some critical detail that'll boost adoption, whether it's usability or latency or security. As someone relatively inexperienced himself, the OP can't know what those things are, but it's highly likely that one of them will bite him.
In other words, it's correlation, not causation. ASP.NET won't make your site suck. However, ASP.NET biases your talent pool towards developers who suck, and that will make your site suck.
Yes there are crappy c# developers. I've also seen some bad ass c#.
The problem is that when you go to hire, you have very little information about just how badass a prospective dev is, unless you've worked with them before. So if you take a random dev out of the C# pool, chances are he'll be worse than a random dev in the Python pool.
That was probably true in 1995. But not today. Python has become the new Pascal/Java. Commonly the intro language in CS, so you have a lot of students who graduate using Python regardless of skill.
If you said Haskell, then probably. Actually C++ maybe more then either, surprisingly.
http://www.tiobe.com/index.php/content/paperinfo/tpci/index....
It seems that wasn't the case even a year ago, though.
However, Joel Spolsky is a tool. Everyone I know and respect thinks he's a tool. He is a prime example of being successful because of being lucky, rather than being good. Do not quote Joel, he can't form a valid argument for a topic without circling back on himself to save his life.
And Copilot wasn't even envisaged or created by Joel, but was rather a project created by some interns.
FogCreek doesn't innovate (they have a bug tracker and a remote support application based on VNC). Joel just happened to be one of the first to blog constantly about technology. He doesn't even allow comments on his posts because he doesn't want to have to deal with people contradicting him (not that he doesn't do an excellent job at this himself).
There are so many great developers and businesses out there that you could use as an example to model your business and software on. Use them, not Joel. Let Joel's business and opinions fade away as other smart, innovative companies run rings around his ageing product suite.
Besides, this is a perfect example of him contradicting himself about how taking VC is a bad idea.
Besides, do you think they are profitable yet? How do you think they will get there without heading down the Expert's Exchange track? And let's not forget how much chaff is now being added every day to these sites, it now seems to be impossible to ask a difficult question because only relative newbies seem to be the only ones answering questions.
http://www.joelonsoftware.com/items/2006/09/01b.html
So I would say that he's actually got a pretty interesting perspective on choosing technology platforms for web applications.
His software runs on a compiler that has had 2 months work put into it and worse, it compiles to either VBScript or PHP.
It's probably the most counter-intuitive solution ever implemented to solve the problem of needing a web-based application to run on both Windows and Linux.
It really is all about the initial design not the language. ASP.NET just makes it too easy to go with bad design and library choices, not to mention the tons of examples of bad design that newbies might accidentally follow at the beginning.
Explain? Example? I don't see how this could possibly be true for .net but not for Rails or Python or PHP or whatever.
WebForms in ASP.Net are pretty much an attempt to take the developer experience of Visual Basic and make it work on the web - arguably with mixed results.
I really don't think there is anything wrong with .Net as a platform - but things like WebForms can be rather disturbing if not used with care.
I'm a huge fan of .Net (in fact my startup runs on it) but I absolutely hate the 'magic' that WebForms does for you.
Repeat after me, if your app doesn't scale it is YOUR fault, not a language, platform or framework. Scalability is about design and implementation, not what tools you use.
I think I understand why the initial design/technology decisions would rarely make it to a product that has to be largely scaled. This makes perfect sense for almost all cases.
Do you think that there are technologies that are inherently more scalable than others, so if some body was initially choosing them would stand more chances to scale up in a non painful manner?
That said, I would say that languages and technologies that help you achieve a more modular design will help you scale more. This makes it easier to tear things out and move them around so you can alter your architecture much more easily than you would otherwise. And of course efficiency (in terms of code performance) doesn't hurt either, but I wouldn't choose something on that alone. If you can have efficiency and modularity, so much the better!
Nowadays, we have fancy stuff like Resque for background jobs, Passenger (aka mod_rails) for serving up Rails content, and a plethora of NoSQL databases.
It costs a ton upfront, and it's likely to kill your nascent company, but if you ever make it big, you'll save a tiny bit of money in the long run!