In my experience Windows hosting (I'm aware of a Linux-compatible version of ASP.net, don't know how good it is might even be for classic ASP) is a bit more expensive than Linux hosting (which is typically used for PHP - for compatibility and cost reasonings).
What is the motivation for locking yourself into the micro$oft stack? Why not use Java with a javascript (jquery/yui/ext etc) front end or even (shudder) JSPs? Spring framework? Anything but .net lock in...
Can we grow up and stop using $ when referring to Microsoft?Most of us here are in business to make money, but no one is calling this site Hacker New$.
Now in regards to lock in. How is it different from any other stack? If I build something with ASP.NET MVC (which has the source available under the MS permissive license) I can run it on Windows or any machine running Mono.
The difference is that microsoft deliberately enacted a monopoly and did dozens of highly questionable things just for the sake of profit. Just think about a company where the policy is, write code that is as inefficient as you like because hardware will catch up oh and btw we are in bed with intel...
You started a flame war over vendor lock in? What about language lock in? DBMS lock in? Or even the forbidden OS lock in?
I don't care what you use, it has lock in of some kind. Get over it. VS2008, C#/VB.NET, ASP,NET, MSSQL are great tools. That's all these things are: tools. The end product is always the same. If you build something with Ruby you can't go back and fix it with PHP. Lock in? Yep.
The point is you are locking yourself into a brand that has explicitly anti-competitive business practices, charges exorbitant rates for their licenses and not only shuns public standards but actively works to sabotage them! (ecmascript3 being the example I am thinking of the last) VS2008 is a tool, C# is a language. Locking yourself to C# (for all intents and purposes) locks you to development on a windows box using VS2008 and commits you to serious trouble deploying under linux or mac, most times. Is that the same as choosing Java or Ruby and vi vs emacs? No, no it is not.
To each their own. I just think that you should use the right tool for the job, not the most popular one. If your opinion comes into play when selecting a tool, you're doing it wrong.
Sure, there's lock in and perhaps Microsoft is engaged in anti-competitive practices. They are a business, after all. But what is wrong with the tools? Visual Studio, C#, VB.NET, IIS? Point out some real issues like the current state of ASP.NET's AJAX toolkit or linq2sql's inability to do perform joins efficiently without an associated view.
I might be playing devil's advocate here, so please don't take me the wrong way. I just want people to look at their tool box more closely and make decisions on real, measurable things.
Disclaimer: I work on everything from ColdFusion, PHP and ASP.NET to Perl, cmd and shell scripts. I have no zealotry in me except for an extreme love of Adobe Flex, Adobe AIR, Macs and the opposite sex.
That IS a real issue, vs the (relatively) open nature of Java and the absolute openness of tomcat, apache? I personally think that open source tools are inherently superior because it of the additional eyes on the code reducing screwups and deliberately bad code. One very serious issue is that their anti-competitive acts make them opposed to standards (e.g. their work on the EcmaScript3 standard and what would have been a great harmonization of AS4 and JS2!) and it's better to work with standards for obvious reasons... Being involved with open source, standards compliant tools gives you an awful lot of advantages.
I've never used those but how can it be so much better than eclipse + all the commercial plugins? Closed source can never beat open source in the end...
I spend more time than I'd like in Eclipse these days, and am consistently underwhelmed. It just can't hang with the intellisense features of VS.NET.
I spend entirely too much time in Eclipse hitting ctrl+space and getting nothing back. Often even when the thing I'm looking for is in the same file, let alone included thru an import. ReSharper will find references for things I haven't even imported. It really is that much better.
Oh, and VS.NET does have open source and commercial plugins (of which ReSharper is a good example.) It's every bit as open as Eclipse as far as extensibility is concerned.
In general, I find it's best when offering comparisons of two products to have actually used both products. That is the basis by which I consider VS.NET to be superior to Eclipse. I'd suggest you try them both before making up your mind for good.
I don't see any compelling reason to switch off of Java for the VS stack... maybe if I end up needing to do consulting, I will learn these. I'd probably have to buy a windows license first :( One point I'd like to make is that eclipse is based on an open standard (OSGi) and having worked at a company that features an eclipse plugin, having the eclipse code open source is damn useful.