I came across a post on the web. It gave me that sense of hope as I felt that the author had ME in mind while he was writing this piece. I dislike math so much that if I were to chose between a=a+1 and 1+1=2, I’ll choose the former. a++ makes more sense to me than 5/2! I’m more of a logic person and not a mathematical one. The defined constraints of math disturb me. If you feel in sync with the above lines, read on.
I have not found in practice that programmers need to be mathematically inclined to become great software developers. 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.
I never understood the desire to formally equate skill at mathematics with skill at programming. While being a math wonk certainly won’t hurt you as a programmer, it’s very hard for me to draw a direct line from “good at math” to “good at programming”.
When I was growing up, I remember hearing people say things like, “If you like computer programming, then you’ll love math.” I always thought that these people were absolutely nuts. While there is something intrinsically similar about certain types of math and computer programming, the two are different in many more ways than they are similar.
With math, and I’m not talking about the crazy number-theory math philosophy “Do numbers really exist?” side of things, but with the applied stuff, there are correct answers. You’re either correct or you’re incorrect.
With coding, the best you can hope for is to do something well. With so many different ways to effect a single outcome, it’s up to some very right-brained sensibilities to determine if you’ve met your goal, as there isn’t anybody (except [another more experienced developer]) who can tell you if you’re right or not.
If you ignore your right brain, and I’m talking generally about abstraction and aesthetics, then you can slap some code together that might work, but it also might be one hell of a maintenance nightmare. If you focus only on the right brain, you might have something that works, but is so utterly inefficient and personalized that you’re the only person on Earth who could make sense of the code and maintain it.
All those caveats aside, people still advocate the idea that math alone has the power to make you a better programmer. If math is your preferred way to sharpen your saw, then have at it — but it’s hardly the only way.
What code have you personally written where a detailed knowledge of math made your work easier? I can think of some broad categories. Writing a 3D game. Or a physics simulation. Or low-level image filters. Or compression algorithms. The list goes on and on. But if you’re in those situations, you’ll know it.
Maybe I’m a hopeless optimist, but I think most programmers are smart enough to learn whatever math they need just in time to attack the problem at hand.
via Coding Horror
No related posts.









{ 3 comments… read them below or add one }
hey vaibhav , i dun’t agree with u completely as u , urself pointed out d conversation wid ur uncle who is into designin software .. it’s not dat u gotta be gud at math its jus knownin d fundamentals.. so dun jus b upset as u hv ur fundamentals formed , the proof being u clearing all math modules within ur bachelors as of nw…
so chill.. nd wait fr wts in store fr u in d near future …
tckr
godbless
Hey tanya!
Well, he is not into software development but in embedded systems. Software development requires different skill set than embedded systems. So, this post talks about people who use high level languages.
Example, in Java you have a function for every damn operation whereas in C/C++ you had to code it yourself. So, it makes the work easier on part of the programmer as he concentrates only on the problem at hand and not the little nuances. Einstein like math skills therefore are not a prerequisite as we are made to believe in college level.
Its just the basics which are required to give your logic a proper direction. i.e if 2 FOR() loops should be used or a combination of 1 FOR() & 1 WHILE().
check out d ads by google on ur blog, dt too on d top.. dts d importance nd popularity of da math factor..