While I am always attracted to Java and Open Source, I’m also not adverse to pitching in on other projects, including those using .Net. C# is really quite a good language. There I said it. I know it is a clone of Java in many ways, but it is quite clean and well thought out, for the most part.
One of the biggest differences working on a Java and .Net project is the Microsoft lock-in on the latter. Sure, the database may be SQL Server or Oracle, but other than that, most .Net shops buy the whole Microsoft tool-chain hook, line and sinker. Microsoft Server, VisualStudio, TeamTest, TFS, WCF, etc.
And most .Net developers are quite happy with this. They don’t get the disdain that other developers may show towards them. Microsoft produces tools they like and know. And lately I also notice that they like and know their iPods, iPhones and iPads…
What? How is it that Microsofties are all in love with Apple? The once and always adversaries for the desktop. I didn’t get it at first. Was I misreading people.
And then is started to dawn on me. While Microsoft has crushed its competition though market weight, with some say a monopolistic edge to it, it has at least done so, for the most part, in a competitive way. No closed app store for Microsoft. Apple, champion of great design, has recently been criticized for its controlling approach to its ecosystem.
And that’s where some .Net developers become fanbois. In many ways, the .Net development environment has become a closed shop. If you like Microsoft tools, you are comfortable there. Similarily, if you like iOS apps, you are also comfortable. So it is not so much that .Net developers are defecting to Apple, it is that Apple is adopting the close ecosystem model that .Net developers have already become comfortable with in the Microsoft development ecosystem.
Or maybe they are just overwhelmed, like the rest of us, by the Paradox of Choice…