Live data from Hacker News

Do software engineers need mathematics? (2000)

maa.org

11–20 of 41 posts

Re: Do software engineers need mathematics? (2000)

#11
post #6

Depends on what you're doing. I've used calculus for physics simulations in games. I had to do a bunch of performance analysis, and a little bit of knowing what distributions actually meant helped a lot. I regret not having taken more statistics in college. I was talking with a philosophy prof once, and somehow we got to DeMorgan's theorem. "I use that nearly every day," I told him, and it kind of floored him -- appa…

I used DeMorgan's laws when refactoring Boolean expressions for clarity long before I learned that the laws had a name - they're entirely obvious and self-evident. I think the relative pointlessness of specifically classifying and naming them makes knowing of them by name obscure.

Re: Do software engineers need mathematics? (2000)

#12
Depends on what problems your tackling. If your doing a basic crud website then no. However if you want to analyse customer data on that crud website, and provide recommender systems for it then yes.

The thinking is similar too, they're not isolated.

I personally think a large amount of value is in using artificial intelligence, machine learning and statistics to analyse data to optimise a business. I think future grads should be focused on that.

Re: Do software engineers need mathematics? (2000)

#13
I'd say I use some math but that would mainly be high-school level geometry (for game animation and graphics) and accounting math for some business apps. But I'd assume people who are tuning 3D engines and low-level code are dealing with math and algorithms all the time. Up higher at the application layer I think you can get by without too much math, although it never hurts to have the knowledge.

Re: Do software engineers need mathematics? (2000)

#14
post #2

Good article. I would just add that Philosophy classes especially the more abstract 19th (Kant, Hegel, Schopenhauer, Nietzsche) and 20th century (Heidegger, Foucault, Mearleu-Ponty, Wittgenstein) philosophers are fantastic and often under appreciated tools for gaining deep abstract thinking skills that mathematics didn't teach me. Often times I've drawn on the modes of thought acquired from learning to read them when…

[deleted]

Re: Do software engineers need mathematics? (2000)

#15

Interesting. Ultimately just one person's opinion. I don't use any college math (since I didn't take any) and dont't find a need for it in most programming. In fact, programming is a lot more like writing. Maybe that's why they call it a programming language. Too bad when I was doing programming using more interesting math, more interesting math was not taught in school (US 7th grade and on)

"I don't use any college math (since I didn't take any)"

How do you know? It is not impossible to pick up (some of) that knowledge outside of college.

"Maybe that's why they call it a programming language"

Maybe, but it could also be because of the abstract concept 'language' as used in http://en.wikipedia.org/wiki/Formal_language

Re: Do software engineers need mathematics? (2000)

#16
An interesting article, but built on the assumption that until a certain age you won't have any exposure to software engineering which wasn't true even in 2000. As a middle-schooler my programming ability was ahead of my math ability and I think I actually found math easier because of it. Stuff like numerical integration were things I "discovered" playing around with computers and I think that learning was much more valuable than later learning it calculus class.

He has a point, but after learning about the numbers and basic arithmetic you certainly have enough knowledge to learn to code, and who really knows if you need to know more math than that.

Re: Do software engineers need mathematics? (2000)

#18
post #12

Depends on what problems your tackling. If your doing a basic crud website then no. However if you want to analyse customer data on that crud website, and provide recommender systems for it then yes. The thinking is similar too, they're not isolated. I personally think a large amount of value is in using artificial intelligence, machine learning and statistics to analyse data to optimise a business. I think future gr…

Agreed. I feel like an idiot for not learning statistics well enough in college. Only want to analyze big data!

Re: Do software engineers need mathematics? (2000)

#19
I don't have a formal CS education, but most of the algorithms, i find that i can find analogies from whatever math i learnt back in school and college. I didn't major in math either. I just had a Mech. Engineering degree. One difference is that when i was in school, i ended up learning math in two different languages. My school used English, and in my free time i was bored enough to pick up and read my dad's classroom textbooks(in my mother tongue Tamil). Currently i work as a s/w Engineer and would agree that a full-time formal math training is not necessary in the current marketplace. OTOH, I also have moments, when i do wish i had seen a consequence a lot earlier, before expending so much effort. And think those would be reduced by a good math training.

Re: Do software engineers need mathematics? (2000)

#20
post #4
post #3

I don't really buy it. I think practice with tackling bigger and bigger problems teaches you more about the need for the specific kinds of abstractions that are most useful for SE. When you get to problems that are too big to fit entirely in your head, you start realizing the absolute necessity for hiding implementation details, and when you work over time with other people using your code, the similar necessity for…

Reading and writing code does not teach you recursion. Certain abstract ideas fall into the domain of mathematics even if you can pick up some of them outside of a formal mathematical education.

I tanked at maths at school. I have no formal education after school. I don't know how or when I learnt recursion, but learn it I did. There are a few other things I learnt since then, like breadth- and depth-first tree traversals, shortest paths and so on. A lot I learnt from examples I found online. A lot of it I figured out myself. I can't even articulate how I do a lot of the things I do, but I do them. And they work.

That said, a lot of the higher-level stuff I learnt the hard way, like the difference between tiers and layers. That's abstraction. And it's why I disagree with Keith's post in general, and this comment in particular:

"...mathematics was the only subject that gave them that experience..."

I don't need maths for 99% of what I write.

[Edit] I don't dispute that I'm doing it (mathematics). I do dispute that an expensive maths education is a requisite for good code.

Good of course is an interesting word - there's a difference between the best architecture, the right architecture, and a successful architecture. All can be termed as being "good" architectures, but no amount of maths is going to teach you the difference.

Post reply on HN