Just my hot takes on Stuart’s.
Performance woes
Back in the day, Modern Life was written in Classic ASP with a SQL Server backend - but the hosting was shared IIS, with a cap on simultaneous connections which meant that visitors would get the unhelpful ‘Service Unavailable’ message at moderate traffic levels (circa 300 visitors/hour was the critical limit).
Classic ASP is not ASP.NET. Classic ASP was fully interpreted and ran like a tortoise without legs. Regardless of whether you compile your ASP.NET before deployment, or not, IIS and the framework will compile on demand and all subsequent requests will be speedy. Additionally the OOP’d Cache speeds things up to be infinitely faster than native PHP could have a hope of being.
If your shared hosting package was on a server along with another seven thousand sites, sure, you’re going to have issues. Any host that feels they can get away with that is moronic but you get exactly the same in the Linux hosting word. If you ever feel tempted to come back to ASP.NET, check out Hostek. Superb servers and better support. Also quite cheap.
Expensive hosting
Well, cost was certainly a factor […] why pay up to £200 extra a year for Microsoft?
This is definitely a common argument against ASP.NET and it is true: the hosting does cost more when compared against packages you see based around Linux; but cost isn’t everything. The quality of the hosting does go a long way. Stuart mentioned licensing which leads me to believe that he’s hosting on a dedicated server or a VPS.
I mentioned Hostek before and they really are good. The stats are nothing near what DreamHost can offer (hence I use DreamHost for all my images, rss, css, js and other media) but the servers and support are first rate and the cost is slightly less that a year of full-price DreamHost.
But yes, servers will cost you more.
No mod_rewrite? No thanks!
Perhaps the key point when comparing IIS to Apache is the absence of a worthy mod_rewrite replacement on IIS. Pretty much all the Classic ASP and .NET applications I’ve worked on have had ugly, unusable URLs - and while there are alternatives (virtual directories, ISAPI extensions), none come close to the power of mod_rewrite.
Oh Stuart… You do make me sad. Somebody needed to teach you how to use Google before you made your decisions on how to host things. Look around this site… Do you see any extensions on the URLs? Are any of them ugly URLs? Did you know this is all ASP.NET?
It’s true that there is no native rewriting built into IIS but through .NET you can rewrite anything you like. Using URLRewriting.Net you have epic scales more power than you have with .htaccess
… All through Web.config
.
Coding comfort
I’ve come to the conclusion that I’m not so much a programmer as I am a scripter - I love to hack things together, see how they work, and mess around with stuff.
I can’t knock you here. If you’re more comfortable with something, you should definitely go with it but you can script (like you did with ASP) in ASP.NET and receive nearly all the benefits of ASP.NET at the same time.
There’s nothing locking you into making a full application with .NET, just make an aspx page and code away using whatever text-editor you like… Just like you would with PHP.
There’s no real conclusion to draw from this. You have your viewpoints and I have mine. I have considered yours and seen some of them to be down to experiencing bad hosts, not knowing something and just how you prefer to program things. Best of luck with the PHP.