Do You Recognize Math When You See It?
Jeff Atwood says:
Arithmetic is one kind of math. It is relatively common in elementary math classes, and relatively uncommon in programming. Does Jeff's example look like the "vast bulk of code you've seen?" It certainly doesn't look like the vast bulk of code I've seen.
On the other hand, I do see a good bit of:
That's by no means a comprehensive list. For example, every general-purpose programming language I've ever used would not exist without the Church-Turing thesis. But I didn't include that, since most people don't do programming language design.
All programmers work with mathematical systems day in and day out, whether we recognize them or not. Perhaps the ability to recognize math when we see it will help us better evaluate the importance of understanding it.
On the other hand, I have not found in practice that programmers need to be mathematically inclined to become great software developers. Quite the opposite, in fact. This does depend heavily on what kind of code you're writing, but the vast bulk of code that I've seen consists mostly of the "balancing your checkbook" sort of math, nothing remotely like what you'd find in the average college calculus textbook, even.
{
i = j++ / (x + v);
}
Not exactly the stuff mathletes are made of.
Arithmetic is one kind of math. It is relatively common in elementary math classes, and relatively uncommon in programming. Does Jeff's example look like the "vast bulk of code you've seen?" It certainly doesn't look like the vast bulk of code I've seen.
On the other hand, I do see a good bit of:
- Relational database queries (relational algebra)
- LINQ (functors)
- Composition of lambda expressions (lambda calculus, of course)
- Set operations and logical operators (set theory)
- Etc.
That's by no means a comprehensive list. For example, every general-purpose programming language I've ever used would not exist without the Church-Turing thesis. But I didn't include that, since most people don't do programming language design.
All programmers work with mathematical systems day in and day out, whether we recognize them or not. Perhaps the ability to recognize math when we see it will help us better evaluate the importance of understanding it.

I couldn't agree more. I can't find the logic behind these kind of statements, making coding look dead simple and for everybody.
In my experience, having a good logical mind (which takes years to develop) is the most essential capability of programmers, which is not gained without enough Math exercises.
Of course everybody can code and have fun, but as no one being able to balance his checkbook can function as a reliable accountant, no one without deep understanding of mathematics can become a reliable developer.