(Disclaimer: MSFT from 1994-2003)
Ran into
this today, which argues that Microsoft has turned the corner. Considering that blog tends to be critical of MS, it was worth a read.
Despite my history with MS, I've been pretty much all over the map when it comes to PC-based server tech. Even at MS, I was an early adopter of Linux, and ultimately started my own hosting service on FreeBSD (which failed, but that's another story).
That said, I recently took a new look at MS' 2008 stack (Windows 2008, SQL 2008, VS 2008). It doesn't suck. In fact, it is pretty darn good.
What I liked:
- Powershell. I don't like to throw the term "game changer" around much, but this one is. Between that, and a very rich .NET model, a lot of previously cumbersome tasks are now trivial.
- IIS7. Much more modular, much more programmable (more Powershell)
- VS2008. I've long like MS' IDEs, and this one kicks much butt. Add in ReSharper, and it totally rocks.
- SQL 2008. It scales better, it is easier to manage, and very configurable.
- C# 3.0. I'm a chump for simple lambda syntax.
The biggest difficulties I ran into stemmed not from Microsoft's tech, but from the ecosystem around their technology.
I have found plenty of neat stuff to use, but a lot of it runs under Java. Sure, I could build various bridges from .NET to those tools, but then I have a whole other chunk to maintain. Many of the projects have .NET client, but they tend to be second class.
Why would I want to do things half-ass like that, when I know all too well of the problems that causes?
There's just more happening in the Java/Linux world. If I want to maintain a competitive edge for my customers and myself, it behooves me to use and recommend the better technology. Right now, that isn't Microsoft - and it isn't because of Microsoft, itself.
When I wanted a search server, I could use MS', which works on Windows, or I could use Solr, which runs on Java. When I needed some form of network monitoring, I ran into OpenNMS, and didn't find a lot for Windows . Lately, I wanted a good message queue. Microsoft has one (and it works fine), Java has a selection.
Thus bringing me to the point: it may not matter if MS is getting it. MS isn't capable of doing
everything, no matter how efficient and disciplined they get. They need everybody else in order to be a strong presence. Their heavy-handed tactics of the past may have deprived them of what they needed most: people.
They have a strong presence in the enterprise world, and this latest stack will help cement that position. The large organizations tend to move slow, anyway, so being a little behind isn't too big a deal. MS' best tools are best suited to that environment. They aren't going away.
They have the money to ride out their bad reputation. Maybe they can trim more of the fat, and focus a little bit better. In the meantime, they have a lot of ground to make up.