Why has an interesting opinion in Math (Eww?) (and read the comments for much, much more).
Perhaps it’s finally time to break the close connection between math-loving computer science and programming.
I studied astronomy and physics. I can use Newton’s and Kepler’s calculations to predict planetary motions. I (can look up and) know the math to calculate star distances. I don’t use all that to figure out what time it is on a clear night camping on a mountain in the middle of nowhere, though–that’s just a matter of memorizing the position of the Big Dipper for certain months of the year. It’s a lot more enjoyable too (just imagine if you had to explain retrograde motion before you could set up a telescope).
I studied history, too. I’m familiar with Herodotus, for example, and the account of Thermopylae. Perhaps it gives more understanding of the movie 300, but it’s an enjoyable movie even without that knowledge. I’m not sure it would have been an improvement to trace the founding of various empires in the middle east from Egypt through Assyria to Persia to explain Xerces’s plan of conquest however.
I won’t deny that mathematics and logical reasoning is foundational to programming, yet I must admit that the numerical analysis exercises turned me off of SICP–and I’d been programming professionally for years by that point.
Occasionally I do feel the lack of higher calculus or linear algebra or graph theory, but I never learned to program to explore the beauty and elegance of recursion or the lambda calculus or to explore metacircular interpretation and first-order logic. I did it to have fun. If having fun means occasionally exploring Important Topics in Computer Science, so be it–but they’re not what catches my interest.
I don’t think I’m so alone in that.