Not surprisingly, those happen to be branches of mathematics with lots of applications. I would argue that programmers should know them, but only superficially, as in having an understanding of what mathematical properties mean in real life and in knowing how to compute them, without having to understand why and when those computation steps work.
For example, when computing a double integral, changing integration order is only allowed under specific circumstances (https://en.wikipedia.org/wiki/Order_of_integration_(calculus...).
In a math exam, you’d have to show these properties hold before switching integration order. If you do that well and then make a slight mistake in your subsequent computation, you get a tiny point deduction, but still easily pass your exam.
In physics, you’d just switch order, compute the answer, check it with reality, and if it doesn’t look wrong, declare you solved the problem (that may be slightly exaggerated, ;-)).
The check with reality is important even if switching integration order is OK because, if you make a slight mistake in your subsequent computation and design a bridge based on the result, people may die.
The point is: for physicists, it’s not the journey that’s the reward, but the destination. And yes, ideally they’ll know when their tool won’t work, but physicists rarely encounter the weird constructs that mathematicians consider in their job such as functions that are continuous, but nowhere differentiable (https://en.wikipedia.org/wiki/Weierstrass_function), or discontinuous at every rational number, but continuous elsewhere (https://en.wikipedia.org/wiki/Thomae%27s_function), and there’s always the reality check at the end that will catch (most) errors.
> Rather than viewing mathematics as an advanced tool reserved for extremely specialized computer applications, Fortran-school programmers view the computer as an advanced tool for doing mathematics.
Here, I’d say Fortran-school programmers view the computer as an advanced tool for doing computations. That’s not surprising; Fortran-style programmers are physicists. They care about the result. Mathematicians don’t, at least not in the sense of something that’s useful in the physical world.