[If someone is paid to do mathematics, and that is the main part of their job, they can correctly be called a professional mathematician (or statistician, etc.), whether they have formal qualifications or not. If, as a programmer, you prefer not to use GOTO statements, you are relying on a mathematical theorem which proves that the other statement types available to you will suffice. You don't need to be actually doing mathematics for the mathematical foundation to exist. Often, the mathematics isn't essential, just convenient. For example, you may write code to implement a particular sorting algorithm because you know (or assume) that the algorithm's worst-case efficiency has been mathematically proven to meet your needs. Thus the programmer does not need to be a mathematician, but certain aspects of what he does have a mathematical foundation. Sometimes, the mathematics goes unnoticed. Merely accessing an array correctly usually depends on the computer doing some simple arithmetic to calculate the array element address correctly. How often have you simply assumed that one of "a = b", "a < b" and " a > b" must hold, so that you need only test explicitly two of the three conditions? How often have you (unwittingly perhaps) employed a little Boolean algebra to simplify a logical expression? How often have you used a numeric variable of a particular type because you "know" that type of variable will be suitable for the arithmetic needed? Certainly, however, most programmers don't need mathematics training to enable them to cope with such things. Much of the mathematics the programmer relies on is very simple and/or may be hidden to some extent, and so no special mathematics training is required. That doesn't mean the underlying mathematics doesn't exist.]

Mathematicians write proofs. From personal experience, I can state that mathematicians never create a design for a proof before starting, they immediately begin writing the proof. Isn't a program just a proof/theory of how a problem is solved? Arguing about what to call the person who created it, or how they created it doesn't change the fact that what they created is a mathmatical construct. Just because "if that, then this, else that, or this and that" seems simple doesn't mean it's not still predicate logic, i.e. math. Would it help if code were written in chalk on a blackboard, would that make it any more math? I'm not a mathematician, but if math is the application of logic to abstract imaginary symbols to achieve a known outcome, then ProgrammingIsMath, there can be no argument, that's just what it is.

CategoryMath

View edit of September 26, 2006 or FindPage with title or text search