Microsoft has great technology, but core assets, such as code, remain closed. Developers likes to have control over their development environment (and eventually on the deployment platform as well) - so what is your top motivation to develop for a closed source platform?
views:
314answers:
20customers. Windows still has by far the largest user base.
And although it's closed source, it's not really that much of a pain nowadays.
They have the best IDE, and .NET is a nice framework to code against.
Microsoft maybe hasn't always been a nice player in the PC software market, but they really know what developers like! (That's maybe the one thing they DO GET - in contrast with everything they try on the internet ;-)
- It's what I know
- It's where my users are
- It's a lower learning curve
- It's (arguably) a better platform to develop for
- It's a very nice environment and IDE to work in.
- I can access the source code for platform, just not for the tools.
For me it has been a matter of personal history. When I started working my customers used Windows, so I developed expertise, code libraries and so on on tools for Windows Development.
It sickens me to repeat Microsoft marketing hype, but total cost of ownership plays a large part in us choosing Microsoft technologies. A few awesome libraries (CCR and ASP.NET MVC to name a couple) have saved us plenty of time, so overall we saved. Ouch. I said it.
Sometimes it's more pleasant, or at least less exhausting, to deal with products developed and supported by corporate drones than those developed and/or supported by hobbyist zealots. The zealot has more propensity to be doing what he or she does for arcane reasons that have little or no relation to meeting your needs.
Definitely not by choice. I had wished to work in linux from college days. But the project I joined in the beginning was in Windows :)
But I like the windows--the platform, the IDE, the tools and not to forget great MSDN support for development.
- It is easy to use. The IDEs are very intuitive to work on.
- Huge customer base (this is partly because of the first point)
- Covers pretty much everything from application development environments, databases, OS.
- Good online support. Lots of stuff available online to refer to.
- MS suites are taught at schools from an early age, which is also one of the reason why masses are used to it.
- Good training materials like webcasts on myriad topics are put up.
- All in all user experience is improved with every release and they strive to make it better.
I live in a very "technical-job sparse" area. If I were "Window-less" (which, truthfully, I'd prefer to be), I'd find my options extremely limited without relocating.
For the vast majority of us, ideology won't pay the mortgage.
Do you mean a development platform or a deployment platform? As a development platform I'm just more comfortable using Windows and obviously if you are using Microsoft technologies you almost need to use Visual Studio so you're required to use windows. As a deployment platform the question is a lot less personal and more dependent on your programming team's strengths and the problem you're trying to solve.
Visual Studio + C# + .NET = best development platform
... and I'm an Apple fanboy.
Say what you will about Microsoft, but their development tools and support are top notch.
They really go out of their way to help people who develop on their platform.
I'm an ASP.NET developer primarily, and I can't imagine using anything else. At least not yet.
I know it's a common jab at Microosft to use the whole "just works" thing when talking about Microsoft's competitors (namely, Apple). However, I've actually found that, more often than not, things really do just work on a Microsoft stack, especially when you're combining different applications (IIS + .NET + Visual Studio + SQL Server....you get the idea). I do enjoy working in the open-source web stack as well but I can't deny that you do a lot more fiddling around with components to get them to play well together. A classic example is Visual Studio vs. Eclipse. With Visual Studio, you can install and go and everything, for the most part, moves along pretty smoothly after that. With Eclipse, you can easily spend hours configuring your environment for a particular job and then find yourself troubleshooting why some plugins have disabled functionality of other plugins (I recently ran into this with the Aptana plugin combined with the JWT package killing each other's code-completion).
Also, all that said, even with open-source technologies, I really have found very few reasons (if any) to actually tear into the source-code for my operating system, development tools, etc. in order to modify or debug them directly. I realize it does open the doors to more finely-tune your application for that platform and various other reasons but still...with a limited amount of time and various frameworks to study the API's for as it is, I don't see myself going through the C source code for MySQL in order to make any specialized use of the product. Once again, I'm sure there are those out there that have really come up with something great and having the source-code to something else made it happen, but I really doubt that's the majority of us.