Math is not necessary for software development
11–20 of 79 posts
Re: Math is not necessary for software development
#12As pointed out, logic is a big part of software. But calculation skills (eg understanding that x is actually a number, not a letter) are also mandatory for a full comprehension of the abstraction going on in programming languages. Not to mention arithmetic — modular operations, index of an array...
Finally, if you wish to get a grasp of functional programming, lambda-calculus or curryfication, you will need a basic intuition of set theory.
Also, concerning logic and math: mathematics are built with logic (4 rules of demonstration). You can consider logic as pre-dating math, but not the other way around.
Re: Math is not necessary for software development
#13Re: Math is not necessary for software development
#14As for the article, I don't think literacy and math knowledge are mutually exclusive. It's not a zero sum game. A great programmer should be able to break down problems logically, improvise and expand on algorithms, and explain what he (or she) is doing to non-technical people. All of those are important.
Re: Math is not necessary for software development
#15What is a variable? function? you might be astonished at how many lawyers don't even understand what true and false mean. I guess some programmers use algebra so much that they forget they are using algebra and consider it just writing. (You don't need to know how to move your legs man! All you got to do is walk.)
Re: Math is not necessary for software development
#16False. This guy is making a case against a subject in which he clearly lacks experience.
Re: Math is not necessary for software development
#17Re: Math is not necessary for software development
#18the apps you can build without mathematics are limited to crappy Facebook clones.
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 function to wrap the algorithm and test the inputs and outputs. Then you spend 2 days writing code and tests for the web interface around the function. In my job most programming is plumbing with infrequent math problems that only need to be solved once in a generic fashion. Heck, if there's complex math, there's an open source library for that. (Or a contractor! Or a web service. Or a contractor writing a custom accounting system that does the heavy lifting.)
Unless you're going to be specializing heavily on a specific problems, you don't need college level math, you just need your basic high school education and access to the internet.\
Note: My high school education included a semester of statistics. I would add my discrete mathematics classes in college have been useful but not strictly necessary.
Re: Math is not necessary for software development
#19It's when you start diving beyond the matrix of batteries-included frameworks and your development toolkit into topics that begin to touch deeper aspects of computation, that mathematics becomes important and truly shines its beauty.
You still don't need to be an expert pure mathematician (those work on problems of their own), but above-average mathematical competence, particularly in aspects like algorithmic complexity, theory of data structures, automata theory and miscellaneous discrete math, is certainly all essential for a good programmer.
But yes, if your end goal is to simply deliver a product, we've advanced far enough where you can do it safely with minimal cognitive workload. One should not be too pragmatic or too theoretical, but find balance between both and be versed in both.
Re: Math is not necessary for software development
#20> 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.
I must remember not to work with/for/over this person.