|
I agree with much of your reasoning, until > And if you are deploying to anything other than Ubuntu, you're crazy What? Did you ever see deploying to Windows servers? There's a reason AppHarbor's documentation pages are so much smaller than Heroku's: Deploying a .NET web app is peanuts. Through Microsoft-only-means, it's done with a single buttonclick from Visual Studio. This works really great. There's a convention as to how web applications are structured that is very widespread and supported by all relevant tooling. Really, there may be many reasons for not choosing .NET for cloud apps, but server support is not one of them. Secondly, you're forgetting a major category for .NET developers: devices. Office multifunctional printers, cash registers, machines in factories, any mid to high tech equipment really. Windows has a massive market share here, and lock-in is only one of the reasons why this is going to remain. For example, developing a touch screen interface for an ATM using WPF is very, very easy - definitely among the best options out there. The entire world may be moving to the web, but for devices there is no strong benefit in doing so. Why make a built-in webserver and a windowlwss browser if you can just make a decent native app in half the time, using half the resources? Also, the price of a Windows Embedded license isn't very interesting if the device you're selling costs a few thousand dollars a piece. Admittedly though, I've no idea how small or large the dev market of machines and equipment is. But it's really pretty sizeable, much bigger than the average HN world-vision warrants. A lot of software is never seen by consumers, don't forget that. A lot of it is never seen by humans at all. |
Sorry but in a realistic production environment, not just a dev test environment, this is not true. Even Scott Hanselman pointed out ASP.NET has a terrible "deployment story"[1] compared to other options. I'm currently working as an ASP.NET MVC 3 developer and I've been really disappointed in Microsoft's stack in this regard. Life was a lot less stressful back when I was doing Python and PHP deployments on LAMP stacks.
To do it right you'll probably end up rolling our own Powershell scripts to do 1-shot deployments. These work great - but again - it's essentially the same story you have in the Linux world.
[1]: http://www.quora.com/Chandra-Sekhar-2/Posts/Excellent-unbias...