I’m learning the built-in unit testing framework for Visual Studio right now, and I have to say, so far I hate it. I found this video, and it made me physically sick to watch it. The interface shown may as well have been drawn in Paint, and while it appears to be functional, it hardly drives good behaviours. In 2013, I shouldn’t need to tell anyone that an interface should be attractive and helpful. I also shouldn’t have to tell anyone that I expect control+mousewheel to resize the interface.
I’ve been programming since I was 8, or maybe since I was in high school, depending on exactly how you choose your definitions. Now, at the unbecoming age of 35, I still think of Microsoft the way they were in the 90s – a tools company that eats its own dog food. The problem I’m having is that I couldn’t tell you the last time something from their stable really impressed me.
Actually, yes I can: the first time I used LINQ to navigate collections. And maybe that’s a big part of why that video made me sick, because it drives home the realization that that wonderful moment was half a decade ago. Everything I’ve done with Microsoft tools since has been kind of shit.
They have this problem a lot, kind of becoming victims of their own successes. IE6 was the albatross for a long time, and its legend will live on eternally in quirks modes everywhere. But .NET is the heavier of the two for the maintenance guys of the world. Microsoft built some really incredible tools (like that LINQ idea) in later editions of the framework, but for much of the world the toolset may as well have ceased updating after 2.0. Even generics, a shockingly simple tool to use, gets too little use in my experience.
I don’t really understand how MS does this again and again. Maybe it’s something to do with their overreliance on the conservative don’t-break-it culture of corporate customer. That kind of makes sense to me; at this point .NET code can feel a lot like COBOL – it works, so nobody touches it, and there’s no point trying to get fancy all these years later.
Lately I’ve been playing around with Java, Android and iOS, and their environments certainly look a lot like Visual Studio. But they are much better in some senses. Eclipse in particular is kind of a beautiful tool sometimes. It’s dog slow, especially when you’re used to Visual Studio’s Intellisense, but the explicit notion of Perspectives is something that I appreciate because it occurred to me, as it probably does to a lot of guys, after several years of trying to serve several masters in a single product. After a while, even the low-end guy, the maintenance monkey, wants to take up a wrench and put a bloody filter on application functionality, because maybe that will shut up the engineer who couldn’t place a PO correctly if his stinking life depended on it.
I suppose I should get back to it. Expect more on this theme in days to come.