General discussion


I Just Want to Program! Don't Make Me Learn Math!

By DanLM ·

Now, I have just read this article on the Orielly web site. And I have to say, I disagree. And for several reasons.

As my post to the article states, in the business world Math is a requirement. Everything from knowing various accounting principles(its math) to being able to understand the equations of some statistical requirement(insurance). Continuing this further, when working for a workers compensation state agency. We calculated the amount we would pay on any medical procedures based on a percentage of Medicare with this figure being worked off the last years percentage if I remember correctly.

In my experience, if you could not understand various equations. You could not fulfill the requirements of the task. This does not take into account where a person may come out of school and go into various other programming backgrounds(science, graphical).

I don't understand how math should not be a requirement. A schools job is to broadly prepare you for as many possible work environment as possible. If they do not provide a math background to your education, they severely limit your possibilities in what backgrounds you may want to choose.

Edited to add: If you read any of georges columns, you will notice he does statistics constantly on the various hardware/software that he tests. I don't know how reliant it is anymore, but I use to read application dumps when being on call at 3am. Not being able to convert hex to decimal and vice versa would have been an issue. I have also seen db admins use math to find the position of a record within a database when their was integrity problems. How can a Computer science major not have a math background>


This conversation is currently closed to new comments.

473 total posts (Page 4 of 48)   Prev   02 | 03 | 04 | 05 | 06   Next
Thread display: Collapse - | Expand +

All Comments

Collapse -

Math is more than calculations!

by oarf In reply to Programming Does Not Requ ...

The study of mathematics is much more than add/subtract/multiply/divide. I would suggest that the appreciation of the correlation between the study of mathematics and application programming is one of the characteristics defining the difference between an average programmer and an exceptional programmer.

Collapse -

Higher level math makes you a better analyst

by alaniane In reply to Programming Does Not Requ ...

I disagree that programmers do not need higher level math. Calculus may not be used in a business application, but learning Calculus teaches you how to analyze problems. Programming requires that one fully analyze a problem. Personally, I think they need to make students learn the math without having the aid of a calculator. The math principles are more important than memorizing how to solve the equations.

Collapse -

That's an interesting superstition !

by Tony Hopkinson In reply to Higher level math makes y ...

Programming requires that one fully analyse a problem ?

Not in practice it doesn't!

We can't even fully define the problem, how in Beelezebub's name are we meant to analyse it?

Programming != Mathematics

Collapse -

Analysis is required

by alaniane In reply to That's an interesting sup ...

If you are going to define the problem, you will have to analyze it. You need to know what questions to ask to define the problem. How are you going to know the right questions? You may not explicitely analyze everything, but you better be able to implicitely do it.
I should retract "fully analyze" since in most cases it is impractical. What I actually meant is that you need to analyze to a practical degree the problem. Although, I frequently see code that hasn't been analyzed very well. A good example is not taking into account nulls or division by zero.

Collapse -


by Tony Hopkinson In reply to Analysis is required

You cannot mathematically analyse an undefined problem.
You can attempt to state the problem mathematically, potentially prove it, definitely disprove it.
Whether this math has anything to do with the real problem, which has not been defined is anybody's guess.

That's where you analogy of mathematical reasoning versus requirements analysis breaks down.

Both Null and div by zero are failures of representation, both can be dealt with by a richer definition of a 'number'. They aren't because it's impractical.

Both could be completely out of scope for the programmer.
If I was reading it as a type integer from a
Field in a table defined as
MyNumber int not null default 0

Should I check for null and div by zero ?

By preference I'd check, and I'd do it in every routine that used the value as an integer and an extra check where it was a divisor.
That could cost big style though.

Collapse -

I agree

by alaniane In reply to Semantics

However, it does show why some analysis should be done. Most problems that I have encountered could have been solved simply if the programmer or analyst had just thought about what they were doing. For example, I ran into one problem where calculations were off because of duplicate records in the data table. The programmer designed the table with a surrogate key to make it easier to write to it. The problem was that the surrogate key undermined the uniqueness of a compound candidate key. If he would have thought the problem through, he could have created a unique constraint for that candidate key or he could check his inserts to make sure that they were truly unique. Since he did not think the problem through, he ended up creating a new row in the table everytime someone calculated the form. Customers get really testy when there are charged over and over again for the same items.

Collapse -

Don't get me wrong, I'm always analysing

by Tony Hopkinson In reply to Semantics

99.9999% of the time the only math involved is the size of my overdraft if I keep making daft arse 'mistakes' though.

A better example would have been overflows.

Collapse -

But, Tony, that merely begs the question.

by deepsand In reply to That's an interesting sup ...

In those case where the systems analysis and the programming are separate functions, performed by different persons, you are correct.

However, it long ago became the practice of combining those functions, with both being performed by a Programmer/Analyst, regardless of whether or not that individual's title contained the word "analyst."

Thus, it is no longer possible to make broad assertions re. that knowledge & those skills which are unessential to the "programmer."

Collapse -

Ambiguity abounds

by Tony Hopkinson In reply to But, Tony, that merely be ...

My job title has always had developer in it (well once I switched to IT), except when it was Systems Engineer.

I do systems analysis, never worked with one though, with me as the coder. Started in IT commercially in 87 as well.

Business Analysts / Domain Specialists, a few, very different job in my opinion.

I wasn't saying math was unessential, I'm dubious of pure math being essential.
I'm also made distinctly uneasy that there is an equivalence of concepts in mathematical reasoning and that done in programming or requirements analysis.

You end up with the Vienna Development method if you go down that route.

They are both systems of logic and to be successful, you have to express yourself correctly within that system.
Other than that they are wildly different though and that's before you get near implementation which is effectively what coding is.

Collapse -

I Can agree with that

by alaniane In reply to Ambiguity abounds :D

I think I see where you are coming from. I concede the point that mathematical reasoning and programming logic are very different beasts. I do agree that Math != programming. However, I do feel that the one discipline can and does complement the other.

Back to Software Forum
473 total posts (Page 4 of 48)   Prev   02 | 03 | 04 | 05 | 06   Next

Related Discussions

Related Forums