Tuesday, August 26, 2008

Five Technologies I'm Not Thankful For

Today is three months from Thanksgiving. Therefore I proclaim today as Gripesgiving day. In honor of Gripesgiving, here are the

Top 5 Technologies I am Not Thankful For:

5. Windows Command Shell

Slightly improved since the days of DOS with Quick Edit and tab-completion of file names notwithstanding, I respectfully avoid use of the Windows Command Shell, a.k.a, the DOS Window. I know MSFT hates that name, but that's what it is.

I certainly appreciate the power of a shell, the command line and tool building. However, I greatly prefer (and appreciate) cygwin, the BASH for windows. I use it for Ruby, subversion, vim, Rails - everything I can. This is a simply great tool if your stuck on a developer-unfriendly platform...

4. Tortoise

This tool may be good for some developers, but not me. I avoid the Explorer window as much as possible - and Tortoise slows it down considerably. The one useful part of Tortoise was the comparison tool, but now I prefer SmartSVN.

3. Windows Desktop Search
Does it find what you are looking for (and know is there)? It does not for me. Can't figure out the point. The best feature is the Search Companion. That's the use the old search option. It finds what I'm looking for.

2. Precompiled Headers
These little guys have been more of a hindrance than a help to me. Maybe its just me, I'm sure somebody somewhere gets something out of them. But has anybody actually measured the benefit?

The cost is this: you must include stdafx.h in every source file, you frequently have to rebuild all because your PDBs are out of date, includes prior to stdafx.h appear to get effected by the stdafx.h. I disable every chance I get.

1. COM
In COM, Microsoft has done what few analysts though was possible - they rolled just about every bad programming practice into a single technology. These include - proprietary build tools, proprietary code, proprietary preprocessor instructions (#import), difficult to read generated code, useless error messages("IDispatch error #3127") deep inheritance (7 levels) and poor documentation.

I've met people who can do COM, and fewer who understand COM. I've yet to meet a single developer who really likes COM.

Have a lousy Gripesgiving...

No comments: