## Math, Programming, and Language Learning 241 241

An anonymous reader writes:

*There's often debate amongst modern programmers about how much math a professional developer should know, and to what extent programming**is*math. Learning to program is often viewed as being on a spectrum between learning math and learning spoken/written languages. But in a new article, Jeremy Kun argues that the spectrum should be formulated another way: Human language -> Mathematics -> Programming. "Having studied all three subjects, I'd argue that mathematics falls between language and programming on the hierarchy of rigor. ... [T]he hierarchy of abstraction is the exact reverse, with programming being the most concrete and language being the most abstract. Perhaps this is why people consider mathematics a bridge between human language and programming. Because it allows you to express more formal ideas in a more concrete language, without making you worry about such specific hardware details like whether your integers are capped at 32 bits or 64. Indeed, if you think that the core of programming is expressing abstract ideas in a concrete language, then this makes a lot of sense. This is precisely why learning mathematics is 'better' at helping you learn the kind of abstract thinking you want for programming than language. Because mathematics is closer to programming on the hierarchy. It helps even more that mathematics and programming readily share topics."
## Your Results Will Vary (Score:5, Insightful)

The problem with all the articles like this is that they're either written by people who did take math or didn't, and in either case both believe their side is right. The article is clearly written by someone who took a lot of math so, surprise, he thinks math is good for programmers. But I took nothing past Calculus (and have never professionally used even Trigonometry), and I'm a successful programmer, so I think math is unecessary.

Until someone actually does a study on this, it's all gonna come down to "the way I did it was better" ... and that's just noise.

## first up let's get one thing straight. (Score:4, Insightful)

Programming is mathematics, it is the application of decision and discrete mathematics. Not all mathematics is infinitesimal calculus (there are different kinds of calculus), algebra or geometry.

## Re:I disagree (Score:5, Insightful)

## Re:Your Results Will Vary (Score:4, Insightful)

I find that most people trying to argue against math generally are doing so by asserting that if a certain math is not put to practice in the software that a person is developing that that math is unnecessary. It also seems to be commonly asserted that persons with a strong mathematical background are just being pretentious.

I believe that the anti-math crowd is missing the point. For a software developer it isn't the skill of solving calculus problems, but the skills required to solve calculus problems. What I mean by this is that in order to work to a solution for a given mathematical problem you are exercising many other skills. Skills such as logic, abstraction, visualization, etc. are very much employed in software development. You go to the gym not because you have aspirations of mastering a bench press, but because you aspire for a stronger, healthier body. Mathematics are an example of exercise equipment for a software developer.

## Re:I disagree (Score:4, Insightful)

Math IS sequencing. So is using recipes. That is how math works.

Math is a language. Just because you can frame things in that language doesn't mean that that language is necessary. Recipes are often in English. English is sequencing (words are a serial stream after all). That doesn't mean English is necessary for programming (there seem to many competent non-english speaking programmers as far as I can tell).

Disclaimer: I am a professional research mathematician; I do understand math just fine.

## Re:Some loser needs to learn the pecking order (Score:4, Insightful)

In the real world the picking order is more like:

1. Rich parents / Male who is excellent at a popular sport

2. Prestigious law degree

3. Prestigious MBA

4. Good salesman and good at golf

5. Economics/Law majors/MBAs who got into strategic/management connsulting

6. (The rest)