Sun, 02 Jul 2006
Visual Studio : Debug and Release Builds
In my day job I do some stuff with microsoft's visual studio. This tool has so many flaws that I am amazed that anyone gets anything done with it.
My biggest gripe is the way it separates Debug and Release builds. Taking each of these alone, there are something like 40-50 compiler and linker settings which are designed to be set and modified via a dialog box.
These settings do get set to a sensible default when the project is created. However, for anything other than the most trivial projects, these defaults will need to be modified and they will get set when the developer is at his busiest. The developer will have visual studio working in Debug mode and he'll have just added some new functionality which needs an addition to the include path or a changed compiler flag. He'll be in the zone and he'll want to get on with what he's doing so he'll fix the Debug mode settings and forget about the Release mode.
Then a week or more later, when the developer finally has something that he/she is happy with in Debug mode they then switch to Release mode only to find that their project doesn't compile. This means more time is sunk into fixing their Release build while simultaneously making sure their Debug build doesn't get broken. So you ask, "where's the settings diff dialog box?". Well, there isn't one. The only way to do this is by flicking back and forth between Debug and Release modes remembering the settings in each. Brilliant!
Separating Debug compiler settings from Release compiler settings like this is just plain stupid. It goes completely against the concept of "Once and Only Once".
Personally I hope microsoft don't fix this. I say let the Windiots waste their time on crap like this while we in the Linux world use decent tools.