3 ms·
License costs are definitely an issue -- at the enterprise level and in regards to internal development, there are strong institutional biases towards MSFT for
by HillRat 13y ago
License costs are definitely an issue -- at the enterprise level and in regards to internal development, there are strong institutional biases towards MSFT for a variety of reasons (the key driver being that all your employees have Windows desktops, so adding Windows servers, SQL Server, SharePoint, etc. isn't much of a leap).
Second, .NET is generally seen as a heavyweight technology that slows development (the MySpace guys are still flogging that dead horse). Anyone who experienced multi-megabyte pagestate data with ASP.NET is probably going to be extremely gun-shy, especially since everyone these days starts out trying to build "web-scale" apps before they get their first ten customers. But Stack Overflow proves that you can build huge, responsive, hyper-trafficked sites on MVC.
Having said that, C# is an absolute beaut of a language; the library support infrastructure is top-notch; NuGet has filled most though not all of the roles performed by Maven, &c.; the MVC* frameworks are a joy to work with; and MSFT initiatives like SignalR are fantastic. As long as your pet technologies haven't been EOL'd by Server & Tools (cough Silverlight cough), then there's no technical reason not to use MSFT. (For me, there's definitely a productivity value -- whenever I have to drop back to pure Java from Scala or C# I feel like I'm trying to run through waist-deep mud.)
The licensing costs are still a significant problem for any startup (especially since MSFT is crippling lower-priced versions of SQL Server these days), but if you're a startup the BizSpark program goes a long way to ameliorating costs for a few years. Perhaps more serious is the fact that many of the key infrastructure projects such as NoSQL data stores treat their Windows forks and .NET bindings as second-class citizens at best, and running them on Windows always feels a bit ... precarious to me.