> Rarely in math are you coming up with a new way to solve a problem, but in software development you do that all the time! False. This guy is making a case against a subject in which he clearly lacks experience.
Math is not necessary for software development
41–50 of 79 posts
Re: Math is not necessary for software development
#42It really depends on which layer of the software stack you are working on. The closer you come to the hardware the more mathematical understanding you will need, e.g. writing a compiler. But it's also very true that if you work with high level languages like C# and python you can perfectly get your job done with just using a clever library that hides the underlaying mathematical problems. I also totally agree that co…
Re: Math is not necessary for software development
#43Re: Math is not necessary for software development
#44"Logic > Math" Technically, "Logic ⊂ Math". Your argument is invalid. (that's the "subset of" operator above, in case the Unicode doesn't make it)
Re: Math is not necessary for software development
#45It really depends on which layer of the software stack you are working on. The closer you come to the hardware the more mathematical understanding you will need, e.g. writing a compiler. But it's also very true that if you work with high level languages like C# and python you can perfectly get your job done with just using a clever library that hides the underlaying mathematical problems. I also totally agree that co…
Re: Math is not necessary for software development
#46So it is clear from word choice that the author is just guessing. But Facebook does image recognition, it does ad placement, it does graph networks, it has EdgeRank - Facebook is only possible via math. Sure, perhaps there is more code written to push bits around on the front end and such, but it lives and dies by math. But even screen layout requires math - dealing with resizing screens, different ad and post sizes and so on - there's a lot of admittedly basic algebra there.
With that said, I agree with much of the content of the post. I run into far too many engineers with no real skill at writing or communication, and that is also a large hindrance in the field. Naturally, every job will require a different balance of skills, and no absolute statement is possible.
However, I would say now more than ever math is required to really excel. Write the front end to some CRUD app? Sure, you can do that (where "you" is somebody with no experience). Write a side scroller? Maybe, just maybe you can pull that off. But that awesome new job writing a game that involves game physics. No, you can't do that. Hey, we need some image processing on this app. No, you can't do that. Let's track some objects. No, you can't do that. How about schedule some jobs in the factory? No, you can't do that. Hey, we have this product idea where we will use an arduino to... no, you wouldn't understand PID controls, you can't do that. Sigh. Want to write your 1023rd CRUD app? Slap some javascript together? Sure, you can do that.
This is why when the topic of university (should I go) comes up I am always a proponent. I was taught to write, I was taught to balance books and run a business, I learned calculus, linear algebra, AI, numerical methods, EE, mechanical engineering, thermodynamics, physics, statistics, chemistry. I've used all of that in my career (this week at work I am implementing some Kalman filters, for example), and my only regret is that I didn't take more math courses. The valley is on fire now with jobs requiring math - machine learning, hardware interfaces, augmented reality, and so on.
If I had a friend with no real math and an interest in programming I would not dissuade them, but math is very important in an important subset of programming.
Finally, I have to say I've watched a lot of people struggle to put a program together which has nested if statements or multiple and/or conditions. Generally speaking, the people that struggle to do it don't have any math skills. So even if you are programming something that doesn't require math knowledge, it certainly requires math aptitude.
Re: Math is not necessary for software development
#47Overall, the blog author is correct that development of good written communication skills is central issue for most software development today: "A very smart person doesn't need to write any comments, the code is obvious to them!" On the other hand, as another several comments here have pointed out, learning more mathematics often allows insight into programming problems that completely escapes people who haven't learned the same mathematics. So it's not a bad idea to practice written communication on the job in part by commenting code so that colleagues see what mathematical approaches were built into the code.
Re: Math is not necessary for software development
#48Software development is interesting in that it borrows for a vast range of other disciplines depending on what you're building. Very commonly, that's maths. You're not going to get very far manipulating matrices for 3D geometry without a bit of maths understanding. But, similarly, you're not going to get very far into developing a knitting pattern generator without understanding knitting - but that doesn't mean you c…
Re: Math is not necessary for software development
#49the apps you can build without mathematics are limited to crappy Facebook clones.
Please... Most business software doesn't require more than basic algebra. As long as you know how to read math formulas and implement them in code, you can just look up most of the stuff on wikipedia. For example, I worked on a monthly payment calculator for loans. All I needed to do was spend an hour reading http://en.wikipedia.org/wiki/Annuity_(finance_theory)#Proof and playing with the forumla on paper. Create a f…
It's not that people don't like math. People are inherently lazy and acquiring logical skills requires work.
Re: Math is not necessary for software development
#50I work in computer graphics software development. Math is an absolute necessity in this field. But only up to a degree, you do not have to be able to do multivariable calculus, but you need to generally understand matrices and vectors.
Matrices and vectors are useful in graphics. But I've never seem them used outside of graphics work.