The article has a good example of exactly the kind of thing I also found useful in the book:
> He also discusses the fact that the language of mathematics is looser than programming in a lot of ways. In code, things have to be expressed a very exact way or they just don’t compile. Variables and functions have to be fully and explicitly defined if you expect the computer to run them. But in math, there’s a lot of tacit agreement and assumptions that go on. Lots of shortcuts and conventions.
This kind of context around how math is done as a human activity in practice, especially in contrast to programming, is extremely helpful orientation for programmers trying to self-teach mathematics.
It would've saved me tons of time and trouble if I'd known the above while trying to work through math texts after graduating with a CS degree: instead I wasted a tone of time writing over-detailed proofs, always feeling as if I were doing something wrong if every tiny step weren't explicit (more closely matching my experience with programming).
> He also discusses the fact that the language of mathematics is looser than programming in a lot of ways. In code, things have to be expressed a very exact way or they just don’t compile. Variables and functions have to be fully and explicitly defined if you expect the computer to run them. But in math, there’s a lot of tacit agreement and assumptions that go on. Lots of shortcuts and conventions.
This kind of context around how math is done as a human activity in practice, especially in contrast to programming, is extremely helpful orientation for programmers trying to self-teach mathematics.
It would've saved me tons of time and trouble if I'd known the above while trying to work through math texts after graduating with a CS degree: instead I wasted a tone of time writing over-detailed proofs, always feeling as if I were doing something wrong if every tiny step weren't explicit (more closely matching my experience with programming).