Live data from Hacker News

Math is not necessary for software development

mutuallyhuman.com

51–60 of 79 posts

Re: Math is not necessary for software development

#51
post #24

Software 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…

You're working in a database... Hence you're working with set theory. Set theory is a discrete math.

Re: Math is not necessary for software development

#52
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 f…

I am failing to see how this is a counterargument. The mast has less to do with the accounting and more to do with how your webpage is getting to your users. You used math in several instances:

* implementing the accounting formulas

* Chrome interpreted your HTML code and calculated the layout for your website

* your ISP knew to attach your URL with your IP address and serves it to your users

* even the development process itself is iterative; building on previous changes

Algorithms were present in all these steps. Once you have users, you will need to keep track of them. Probably you will use an array, tree or other data structure.

As long as you feel comfortable outsourcing the hard stuff, you can put together simple projects like these.

Re: Math is not necessary for software development

#53
post #41

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

An algebraic solution might have a unique answer, but Math is more than pure Algebra. For instance, Machine Learning problems rarely have a single solution and I would argue that Machine Learning is tightly related to Math.

Very few "real world" math problems reduce to easily computable closed form expression. You're almost always dealing with numeric approximations. So even when your problem has a unique correct answer finding it is either impossible or computationally impractical. A large part of applied math is finding newer, faster and cleverer ways of approximating these solutions. Making the best choice between all the different ways to get the right answer can often be the difference between run times measured in hours vs centuries.

Re: Math is not necessary for software development

#54
post #24

Software 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…

Wrong! You still run into problems that require some math discipline and understanding. If you're writing CRUD apps, you need to know what a Cartesian product is or why big O matters. Or how to calculate disk space requirements and transaction times.

I've written more CRUD apps than I care to remember, and I have no idea what a Cartesian product is.

The fact is we might use things that have formal definitions without knowing what the definition is, or understanding the theory behind it, or being able to derive it from first principles. That's very definition of not knowing maths and still being able to write software.

Re: Math is not necessary for software development

#55
This strikes me as an instance of "The Blind Men and an Elephant"

It's very hard to pin down either necessary or sufficient skills for a developer, so we all focus on the things that have been relevant to us.

I'd add the following to the list: problem solving, critical thinking, social skills, egolessness

Re: Math is not necessary for software development

#56
post #24

Software 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…

You're working in a database... Hence you're working with set theory. Set theory is a discrete math.

That's a bit like saying "You can throw a ball in the air and catch it again, so you must have an understanding of celestial mechanics, fluid dynamics and geometry."

Using a database is working with set theory, but that's very, very different to understanding set theory.

Re: Math is not necessary for software development

#57
As someone who got into programming late in life - and, with the exception of geometry, began sucking at math starting with algebra - I never graduated beyond Algebra 2 and trig (and barely passed those classes).

The biggest stumbling block I run into with programming relates to the adage "There are only three numbers in computer science: 0, 1 and n". I can easily deal w/ the '0' and '1' cases, but struggle making my programs work with the 'n' case. I've attributed this to my poor math background, so have begun to pick up where I left off with an aim to learn Pre-calc and then Calculus.

However I'm wondering if this isn't a mistake and rather I should focus more on logic and, perhaps set theory (I'm not even sure I know what that is and whether it requires higher level math)...?

If the above is true - I'm curious to hear from those with more advanced math backgrounds - then it may lend at least some credence to the author's point.

Re: Math is not necessary for software development

#58
Sigh! Another child left behind. From this child's point of view, because "people who are good at math are good at breaking problems down into parts, recognizing patterns, and applying known formulae to those parts to arrive at the one right answer", they rarely come up "with a new way to solve a problem." So that's how a good Software Engineer uses Logic to reason. You need to take math more seriously in school or you may go to a wrong school. There are more than one way to get to the solution you are just too lazy to discover a new way to do it. And if we rarely come up with a new way to solve unfamiliar problems then we all died out long time ago.

Re: Math is not necessary for software development

#59
post #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.

[deleted]

Re: Math is not necessary for software development

#60
A developer can get a lot of mileage without knowing much math beyond algebra just as a musician can get a lot of mileage without knowing music theory. In both cases however there's a limit as to how far you can go. If you're content with writing CRUD apps for the rest of your life then yeah, math isn't terribly important.
Post reply on HN