Re:Ask HN: What are some important math topics every program...
by j2kun on Thursday June 04, 2015 @06:32PM
(#9662618)
There are many ways to learn about abstraction, and abstract algebra is not the only one. I.e., assorted facts about groups are mostly irrelevant, and if you can learn how to think abstractly by studying, say, graph theory, why would you need abstract algebra?
The thing about advanced maths is that it forces you to think about abstractions in ways that not even programming forces you to think. You can get pretty far programming without much abstraction, but you can't understand the mathematical fact that any group of order four is either cyclic or isomorphic to the Klein-four group[1] without thinking in a really abstract way. The more you study these abstractions in advanced maths, the better you get at thinking in an abstraction-first way.
A great book that just came out this year explains this really well by taking you from a basic algorithm to an abstract implementation, explaining the maths along the way (from multiplication to abstract algebra and number theory). It's titled From Mathematics to Generic Programming and I recommend it to anyone who wants to understand more of what I mean[2].
--
[1]: http://math.stackexchange.com/questions/165341/any-group-of-...
[2]: http://www.amazon.com/Mathematics-Generic-Programming-Alexan...