I use Microsoft products everyday at work. We’re a .NET/MSSQL shop exclusively, so this is what I have to work with. It’s not a bad system. The Visual Studio IDE is a great programming environment - at the feature level. SQL Management Studio is a great product as well - also, at the feature level.
I’ll tell you where things start to break down. My last project encompassed wait times of ~2 minutes per compile. It was not a large project by any means. This is totally unacceptable - a level of torture when you’re recompiling repeatedly to track down a problem. This isn’t the only problem. The IDE is buggy. Very buggy. “I can’t believe I don’t see moths flying out of the box” buggy.
Load times are horrendous. Basic functions cease to do just that. The ability to delete anything - controls, text, all encompassing - is torn from my arsenal on a whim. The only cure for such headaches is to restart the application. The Web IDE suffers from slow, no, that’s not the word. Let me try again: The web IDE suffers from non-existent response times. Changing from control to control is literally nothing more than a visual cue. The underlying effect on the properties box is not there at times.
That machine is a P4 with 2.5G of memory, so I don’t think it’s a hardware issue.
I recently got a new laptop for work which I’ve begun using exclusively for development. After a few days, I began experiencing blue screens. This is frustrating to a level indescribable with the english language. For those who are unfamiliar with the infamous bsod, the errors are extremely cryptic - even to those of us considered “computer literate” - and they always require a restart of your computer.
Long story short (long being a few hours, short being a few words), the blue screens were caused by a conflict between Microsoft SQL Management Studio and my mouse drivers. My mouse, which happens to be Microsoft branded, was running on the newest release of the Intellipoint drivers, released by Microsoft.
Microsoft SMS was conflicting with Microsoft Intellipoint causing Microsoft Windows to crash. How am I supposed to respond to this?
The solution was to downgrade my Intellipoint software (I believe to 5.2) for anyone else out there that wasted a few hours researching this problem to no avail. The problem appears to be recognized, albeit unmanaged.
Today, a new issue reared its ugly head. A Windows Update was pushed out to our machines. Now, this is not entirely the responsibility of Microsoft. Our parent company screens these patches and decides when to push them out. While I’ve always thought it was silly of them to play firewall to Microsoft’s own updates, and it’s turned out to be ineffective anyway, I suppose it’s been proven somewhat necessary.
The patch updated the .NET 2.0 framework. The result was a handful of broken .NET 2.0 applications. I don’t know how this happened. The resolution involved installing the update on a development box, recompiling the applications, and redistributing them to all the necessary employees. Now, I won’t go into details on this except to say that it was a giant spear in my side. A dirty, rusty, spear in my now sore, bleeding, infected side. The damage hasn’t yet been totally contained, but it should be tomorrow, so it’s not the end of the world - this time.
What if one of those applications was mission critical? We have a plant full of people relying on our software that would have come to a screeching halt if the wrong apps had been affected. This is a big screwup, and it needs addressed.
The point. Sorry, that was a long rant, longer than I had expected at least.
Microsoft has hooked a ton of companies with their Visual Studio line of products, and for good reason. They are generally very reliable IDE’s that offer a very intuitive way of developing software. On the downside, we’re all dependent now. It would be extremely hard for us to switch to an alternative. Microsoft obviously recognizes this (though they’re feeling the heat), and that’s good. Capitalize extensively Mr. Gates. But, don’t take advantage. Don’t get comfortable.
Releasing buggy software is a sign of complacency. Your reign won’t last if you screw your customers. You have a huge amount of businesses eating out of the palm of your hand, renewing thousands and thousands of dollars in licensing year after year. And we do it gladly, as long as it works. There’s a strong, loyal following there. Keep it that way. Sure, you have control, but a group of pissed off prisoners cursing high switching costs will not keep a business moving.
If you’re lucky, some will never see the light that is Linux, but to assure the survival of your business, you have to give people a reason to continue paying for what could be free.