Comment Re:Shortage of *good* scientists and engineers (Score 1) 392
there is lots 'coding around the problem' with special cases and branches all over the place
While this is undoubtedly the case, part of the cause is that the world is full of special cases.
The other half of the problem is that many programmers struggle to distinguish between a defect report that is due to a bad assumption about the general case and a defect report that is due to a special case that the general case doesn't handle.
So you get two possible issues - either they change the general case to handle a special case - and break something else along the way (which then gets fixed in its own peculiar way), or they add special case handling and fail to fix the general case. After 20 years of acquiring "bad" fixes like this the code becomes almost unmanageable and even identifying the special cases that would need to be handled in a rewrite are hard to impossible to determine.