Apparently, the utility programs in MS DOS 6.22 were usually between 20% and 90% useless code. Defrag could've been reduced in size by about 85%. Dunno if that's true, but I've heard it quite a lot.
I'm currently writing Vertex and Pixel Shaders for a game. While high-level shader code might be easier, I chose to use assembler for two reasons:
1) I'm used to low-level languages (I wrote a powerful GUI application in Borland Turbo Assembler)
2) Because the VShaders are so complex, it is imperative that I squeeze every last mip out of the graphics card. Hence, high-level is a no-no.
Anyone used Visual Studio AppWizard? It sucks. There's a whole load of bollocks in the MS-generated application framework that doesn't have to be there.
MFC? The problem with a universal application base is that ONLY 10% OF THE FRAMEWORK IS USED BY ANY GIVEN APPLICATION! Here we have the reason why Windows is so huge.
A situation well known to programmers (such as myself) who use the Windows API:
Q: How many Windows programmers does it take to change a light bulb?
A: Four hundred and seventy-two:
One to write WinGetLightBulbHandle
one to write WinQueryStatusLightBulb
one to write WinGetLightSwitchHandle...
but the API runs faster, inherits less redundant code, and is easier to follow than MFC. At least, I find it easier to follow. Probably because it's me who has written most of the code in my program, instead of some drunken member of the MFC team...
Whenever I rewrite a program to improve efficiency, the first thing I do is figure out where I could cut out useless code. It seems that this doesn't even figure on the MS list. Maybe if they didn't set stupidly-sort time intervals for completing a piece of software, their programmers might have more time to decipher the mess made by the last generation. Of course, that's the problem. The last lot didn't tidy up the code, so the current team have a harder job ahead of them. So they don't do it. So the subsequent team have EVEN MORE junk to deal with! The term 'exponential bloatware' springs to mind...