There are two schools of thought regarding the role of mathematics in programming. One school, led by Edsger Dijkstra, suggests that a programmer should be mathematician first. At the very least, every programmer should have a solid foundation of mathematics. Furthermore, computer science should be a branch of mathematics. For a more detailed discussion of this topic, visit http://en.wikipedia.org, and search for ``cruelty computer science''.
Another school, including Donald Knuth (another giant and pioneer of computer science), claims that with sufficient advances of tools, everyone can program computers. This is at least partially true. In the ``good old days'', programs are only written in machine language, consisting of long strings of 0's and 1's. Later on, with symbolic assemblers, writing programs became easier. These days, with Visual Studio and other development environments, the tools actually helps to fix problems not only in syntax, but also sometimes the logic of programs.
Nonetheless, it is still important for programmers to understand enough logic and mathematics. Programming by intuition is possible, but it only enables a programmer to a certain level. If not for anything else, a solid background of logic and mathematics enables a programmer trouble shoot faulty programs with great efficiency. Most programmers who are well trained in mathematics also tend to design more elegant programs that minimize chances of errors to begin with.
Copyright © 2012-02-07 by Tak Auyeung