> The problem with laying this at the feet of the application > programmer is that they are not perfect, and when the program > fails it actually the end user that suffers.
Unfortunately, that's about the only place it *can* go. Users can't (or shouldn't be able to) change the code on the fly, or, if they can, they're better than the developer -- or at least, a lot more bored and have way too much free time. Methinks that it mostly results from not probing your environment at startup to determine what the limitations are, and then doing more rigorous checking that you don't violate those limits during operation. Way too many programmers assume infinite resources and don't cope with failure to acquire same. While we're airing pet peeves: why do people assume that changing programming languages will somehow fix this problem? It's just as possible to write rotten Java as rotten C or Fortran (in fact, it's possible to write bad Fortran in *any* programming language...8-)), and IDE's and all the other stuff doesn't fix bad programming practices any more than a fancy grease gun fixes seized bearings. It helps, but fused is still fused. (yes, it's been Tuesday all over. grump.) -- db