Sorry, the question in title sounds naive. I have no doubt that math is essential in programming, but I am thinking about philosophy of programming and want to summarize when they’re needed in programming. My attempt is below:
Most applications of programming are making electronics do things through their interfaces. Whether that’s telling a screen to display something, a network wire to transport data, a hard disk to persist data.
But we often need math because we often transform data, or we might make said electronics do things based on user input, or an event. Transforming an event to data is a mathematical construction.
Some applications are almost purely mathematical, like banking, crypto currency, or encryption.
In your opinion, does this fully explain why we need math in programming? Is there a better way to sum it up?
I think math is the best way we know to train analytical thinking - one place it’s absolutely necessary is graphical rendering, if you’re building or improving a rendering engine it’s absolutely fucking vital. Outside of that it’s really unimportant for developers to know math - even for crypto or banking stuff. When it comes to encryption/compression you need to know math to write the algorithm but can generally implement it without a strong background in math so long as it’s well defined enough… but you’ll usually be using a library.
So, TL;DR the CS field needs like a thousand people that are excellent at math and the rest of us pretty much never need it.