
Nicolas Frisby said: {....} The fact of the matter is it's a rare case when a programmer's lack of mathematical background threatens lives. If my GUI crashes, I'm angry but not injured. Programmers make a living without the math background because the vast majority of employers don't seek it--their products simply don't need it. Note that I said "rare case"; I think there are plenty of safety critical programs out there. Consider the shuttle, deep-sea equipment, military or medical equipment, etc. Now if the programmer you're worried about is on one of these projects, I most certainly share your unease. {...} All those angry office workers with those crashing GUI's cost hundreds of millions of dollars every year... arguably some billions perhaps.. And besides deep space probes and aircraft, there are many machines out in industrial plants that have some pretty dangerous processes and such running on computer instructions... right to a dryer that maybe doesn't shut off the heating element when it should due to a glitch in a program... and burns up. Now as to the need for EVERY programmer to know discreet mathematics and know how to run a proof through a theorem prover, and understand fully all the nuances of lambda calculus, and pi calculus, and all those other calculuses and such.. well, I guess that is why I am happy to be using tools like Haskell, or the ML family of languages, because at least the tool is built by folks the like of Wadler, Peyton Jones, and many other out and out academics and highly skilled and brilliant mathematicians. That means that I benefit from the type checking {and inference} that make my programs more likely to be correct on the first go. I have found that to be the case so far. I was able to build an equation solver in three variable and basically unlimited number of terms in about 6 hours, that would have taken probably weeks to complete in any language other than Haskell or one of the other functionals that support higher order functions, and the mapping and folding functions, and list comprehensions etc. I am just a happy camper that I have the ability to use such fine tools, and not have to be lost in the catacombs of mediocrity: ie. Java, C++, C, and C#. good programming, gene