Live data from Hacker News

Math is not necessary for software development

mutuallyhuman.com

11–20 of 79 posts

Re: Math is not necessary for software development

#12
The author seems to confuse "what [he] would call math" with calculus or counting.

As 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

#14
As others have said, logic and basic algebra are integral to programming, but I understand the sentiment that "hard math" isn't necessary. And I sort of agree. As a front-end developer, I don't really need to be an expert in algorithm design to do my job competently, and I don't need to know statistical analysis or any other branch of higher math. That being said, learning some higher math on my own has made me a much better programmer, and allows me to write code that is far more efficient than I could otherwise.

As 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

#15
post #4

What 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.)

I don't see the point. Do lawyers need to know such things to perform well in their careers? Specialization is prevalent for a reason - it has given us modern civilization and all the fancy technology that comes with it - but there is such a thing as hubris, and I don't think condescension towards those not well versed in the tools of one's craft can be considered a good thing.

Re: Math is not necessary for software development

#18
post #5

the 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 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

#19
I don't think anybody has argued that a generic developer needs much mathematical knowledge beyond Algebra I (even basic arithmetic will do) and Boolean/gate logic.

It'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.

It's amazing what someone who propounds ignorance is ignorant of.

I must remember not to work with/for/over this person.

Post reply on HN