Microsoft Windows, Clean Coders Nightmare?

Microsoft? I can hardly ask Microsoft “who?”, because they are still a major standards setter in various ways: Office Application, User Interface, MSDN C#, C++. Then there is the X-Box, possibly the best gaming console out there, with a refresh coming probably by the end of the year – or at least by early 2014. They are truly a leader. And a leader with what most will agree are good products.

But then there’s windows. *sigh*
I like windows. Really. It has a lot of nice features. And with the Aero interface, it is really slick. I’ve worked in it for years. I can manipulate system settings, dealing with services, Environment variables, DOS/Command line. I am quite functional/productive in that environment. But it is fat. And unsecure. Add virus software and it requires at least a Core i5 processor to move it with any reasonable speed. Then there are articles/blogs like the one below that remind me of its weaknesses. The pull quote below speaks to the underlying quality of the product I am installing:

Anonymous MSFT developer admits Linux is faster than Windows
There’s also little incentive to create changes in the first place. On linux-kernel, if you improve the performance of directory traversal by a consistent 5 percent, you’re praised and thanked. Here, if you do that and you’re not on the object manager team, then even if you do get your code past the Ob owners and into the tree, your own management doesn’t care. [ … ] Incremental improvements just annoy people and are, at best, neutral for your career.

Improvements are not noticed or cared about by management, and mostly annoy people and are at best, neutral for your career.

The above statement is not unique to Microsoft, and in any other shop is not earth shattering to any major degree. Frankly, I’ve worked in shops like that. This would even explain why windows is so fat to install. {Do we recall when the Macinstosh OSX footprint actually shrunk a few versions ago?}

The problem is Windows is Microsoft’s flagship product. One would think there would be better care taken with the flagship name. If Windows stumbles, the Microsoft boat is not just rocked, but threatened with a good-sized leak in the hull. And there is a difference between the quality of code going into an internally used application at a financial institution (say your banking web interface of mobile app, or a CMS at a mortgage company) versus your operating system. This dictates the day-to-day user experience.

There is something to be said striking a good balance between cleaning up existing junk and pushing forward requested new features. Ask Bob Martin, the original Clean coder ( and If this MSFT anonymous blogger is accurate, Windows gets the knocks it rightly deserves. {I do not discount the possibility this blogger had a moment of being disgruntled and decided to write about his feelings, globally.}

Often, this is a cultural thing – established by the company founder. I trust Bill Gates never cared about the holistic beauty of his software. His attitude, starting with QDOS (Quick and Dirty Operating System) up to Windows 3.1 (A lousy, but popular response to the nice Macintosh mouse driven interface,) is demonstrated to be: just get something out there (a.k.a. “Git er done.”) My inside-software industry observation, not direct knowledge.

My prediction: windows will continue to be bloatware installed on a majority of PCs worldwide. Microsoft will continue to have hits and misses. Price point accessibility and usability are key. LInux is still too geek oriented. Mac OSX is on premium priced hardware.

Considering the mobile tablet market: Surface? “Puh-lease!” I enjoyed writing this blog on my iPad, which I will sync to my Core i7 windows 7 machine later today :).

** Highly recommended for developers: Robert C. Martin’s Clean Code books on Amazon.