While I am a confirmed Microsoft hater, the one place they shine is in providing an environment (.NET + SQL Server + whatever) for the building of medium sized (10 to 1000), internal, pointy-clicky applications. There is no equivalent in Unix or Mac, and this is a <i>massive</i> market -- all the lower level office workers who get some small data thing from somewhere (a customer order, a change order, whatever), enter the data after a little bit of thinking, and move on.<p>I am a data analyst forced to work on MS environments, and it sucks ass (I have a parallel Unix toolchain installed, plus we use SAS (which sucks ass, too, but that is a different story)). It would suck ass if I was building and deploying internet apps. But for pseudo custom form based applications designed for non-programmers to do glorified data entry, it rocks.<p>Also, there are probably 40 million "analysts" who don't even know what scripting is and are utterly dependent on Excel, even though they could probably increase their productivity 100-fold if they got a little bit of command line and R and SQL under their belt. However, they don't even know they have an alternative, so Microsoft is totally safe in this zone for at least a few years.