6 ms·
OK, here's a really biased point of view. The author says: It's OK to suck at math; you won't be using much anyway. I'm not sure how this stereotype
by RiderOfGiraffes 16y ago
OK, here's a really biased point of view. The author says:
It's OK to suck at math; you won't be using much anyway.
I'm not sure how this stereotype got instilled in
me, but I'm slightly embarrassed to admit that I was
surprised to discover how little math is involved in
day-to-day programming, ...
That depends. The amazing thing is how knowing math can help in so many unexpected, tangential, apparently unconnected ways. Time and time again the guys I work with do stuff that would be easier if they knew more math. When I pair with them they frequently say that they wish tehy knew more math.
It's OK not to have a PhD, it's OK not to have a degree, but at least knowing about, and having a good, intuitive grasp of what goes on in topology, linear algebra, analysis, graph theory, game theory, logic and more is immeasureably useful.
Unless you're doing the kind of coding that really doesn't require design or algorithms or data structures or communications or database work.
I've never used stuff I did in my PhD, but time and time again, continuously (and I use the work correctly, I don't mean continually) I've used the stuff I learned on the way that enabled me to do my PhD.
Learn more math. It will be useful, even if only to give you the option of rigorous reasoning.
- MaysonL 16y agoI did enough math at college that complex data structures and algorithms were not at all scary. Recursion just reminded me of the infinite descending spiral of the ideals in Noetherian rings :) And working through the proofs of the equivalence of a dozen different versions of the axiom of choice helped me learn to reason about my programs. Never used more than a trivial amount of the math content, but the math processes of thought have been invaluable.
- CodeMage 16y agoRecursion has always been my favorite example of how learning math helps understand programming. If you've ever proven something by induction, you should have no problem understanding recursion.
- deleted 16y ago[deleted]
- edanm 16y agoHonestly, I think most people who "prove" things using induction don't really understand what they're doing. Then again, most people don't really understand recursion either.
- tkahn6 16y agoHonestly, I think most people who "prove" things using induction don't really understand what they're doing Can you explain what you mean by this?
- edanm 16y agoSure. In my experience, most people who go through math classes at a University, not to mention classes in High School, are mostly "blindly" following a template of how to do induction. They don't really understand the principle behind it, why it's a valid proof technique, etc. Put another way, if I used induction incorrectly, I could probably still trick them into thinking it's a valid proof because it looks like induction. The same goes for a lot of things in Mathematics. The same also goes for recursion - most people don't really understand recursion (unless it's used at a "simple" level, like in Tree Recursion).
- lmkg 16y ago> if I used induction incorrectly, I could probably still trick them into thinking it's a valid proof because it looks like induction. You mean like this one? http://en.wikipedia.org/wiki/All_horses_are_the_same_color http://en.wikipedia.org/wiki/All_horses_are_the_same_color My college calculus professor used this example when she was teaching induction.
- jemfinch 16y agoThat's a perfect demonstration of the difference between epistemic induction (unprovable) and mathematical induction (provable).
- Xurinos 16y agoI agree with you. I find many reasons to know math during my career and in my programming hobbies. It is hard for me to ever take the statement seriously. We are not even talking about calculus here... I surprised a fellow developer in the Dark Mists MUD by converting a table into a simple linear formula ("What should Y be when X is at this point in the range?"); this is grade school geometry, right? I just needed the formula for a line! In my regular work, it is surprising how many times people do not understand the need for variance or standard deviation when they are looking for quality in averages of their data sets. So web programming? If you have to put up charts of large data sets, things will get hairy without at least knowing how to interpolate the data points. A slow website may be a result of brute-force simplistic approaches in the code. Some of the packages we use (such as jQuery) require some good math knowledge to implement (example: drag-and-drop). We certainly cannot generalize that in web programming, it is acceptable to not know math. You can get away with not using math in our industry if you leave it to others to do it for you.
- cullenking 16y agoSpot on. You may not need math if you are working on very very standard boring things, or on some system level stuff. However, the moment you need to work with real data and do cool things with it, you are often left SOL without the ability to figure out the math. Many people grab a scientific toolkit (psipy and the like), but understanding what a Gaussian filter is vs calling a function for it, does an immeasurable amount of good anytime you need to decide what your particular dataset needs.
- feral 16y agoThis is framed as a letter sent back through time to an earlier self. I don't know what kind of programming the author does, but I was sending such a letter to myself, I would absolutely not say 'Its ok to suck at math'. I'd be much more likely to tell myself: "Don't worry so much about learning about hardware specifics - spend lots of time on abstract math, it'll come in handy all sorts of places later".
- CodeMage 16y agoHe offers a clue: "[...] I was surprised to discover how little math is involved in day-to-day programming, especially for a web developer."
- RiderOfGiraffes 16y agoExactly, but if he doesn't know much math, and he does suck at math, and it doesn't think he uses it much in his day-to-day programming, he will think it's pretty useless. And he'd be wrong. As commented in another reply: ... Never used more than a trivial amount of the math content, but the math processes of thought have been invaluable. In spades. How many people are crap at something, realise they can get along without it, and thereby conclude that it's useless? Most. It's like being incompetent and unaware of it. It's an unknown unknown.
- torme 16y agoI was pretty good at math in school, but I dont like math. Therefore I haven't focused on it. I think your assumption is that people think like: I like programming. I'm bad at math. Math doesn't help my programming anyways. Instead I think people think like: I like programming I'm bad at math, so I don't like it. I'm going to look at other fields to improve my programming. I think the problem is, and the author hints at it, is that people tend to over glorify the importance of math at the expense of drowning out other fields, like prose. In some fields like web programming, I would say that yes, my time is better spent learning how to write understandable code instead of how to solve complex equations. As a result, I probably won't ever program video games, but thats ok, games take a lot of math, and I wouldn't enjoy that anyways. It's not that I'm lazy and just don't want to get better at programming. I just want to get better at programming in ways that I enjoy the most. With infinite time, I would certainly do it both.
- nadam 16y agoI have been a programmer since I was a child, and I was also good at math, I won competitions, etc... But interestingly I was only interested in and good at discrete math. I loved mathematical logic, set theory, number theory, graph theory, algorithms, solving tricky logical problems. But I was not good at calculus. I did not understand why complex function theory is relevant and why I have to leran so much calculus. I now of course know some calculus, and already I don't hate it. But I still think that some part of math is not very cruical to a programmer, and some parts can help the programmer's abstract thinking. So I would change the kind of math which is taught for an average programmer. The other thing is taste. If you are quite good at math you will like those jobs where math is involved. Unfortunatelly this can hurt if you have only have some mundane programming job. I certainly cannot use my theoretical knowledge at my job, I can only use it in side projects. I know a mathematician with orders of magnitudes bigger math knowledge than me: his taste is so abstract that even tasks which I find exciting are boring to him. His taste is so abstract that he is excited about only theoretical math reasearch. He is a researcher mathematician and he don't create any programs at all and his research is not really related to practical things. I know programmers who have smaller math knowledge than me but are more passionate about their day job than me and perhaps they are even more productive for this reason at their day job (which is the same as mine.) Passion is more important than knowledge. So if you want to be a good and happy web developer I think there IS something like too much math knowledge.
- chipsy 16y agoInteresting. I'm also very discrete-biased in my math background, perhaps because it lines up neatly with problems in digital computing. I never did well with calculus, but interestingly enough, my interest is more awakened now that I'm doing coding for a software synthesizer, which has to approximate continuous functions all the time(as sample buffers), and deal with the various distortions from said approximation that are taken care of "for free" in an analog environment.
- jdp23 16y ago> I've never used stuff I did in my PhD, but time and time again, continuously (and I use the work correctly, I don't mean continually) I've used the stuff I learned on the way that enabled me to do my PhD. One of the best software engineers I know has a law degree and says exactly the same thing. So I suspect that the same is likely to be true for anybody else who's gotten a PhD or other advanced degree.
- johnaspden 16y agoBut law, maths, computer science, and weirdly, classics all appeal to the same minds. Are there examples of people with English Literature or History degrees who say the same? I would have thought they would be more useful for the sorts of things that programmers are bad at, like dealing with, or in, lies and half-truths. And not be so good for the 'long chains of precise reasoning' type problems. Of course, you might equally say that being able to handle the political side of life 'makes you a better programmer', but I don't think you'd mean it in the same way. Ideally you'd want both.
- jdp23 16y agothere's a big difference between "appeal to the same kind of mind" and "you should study this subject to become a better programmer" and yes, I do mean that being able to handle the social side of life (including politics) makes you a better programmer in the same way. agreed that you want both.