Live data from Hacker News

Do software engineers need mathematics? (2000)

maa.org

21–30 of 41 posts

Re: Do software engineers need mathematics? (2000)

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

These ideas are named to honor the person who did much of the grunt work to get them proven/accepted, but we continue to use the name as a convenience.

If you're working with educated people, it's a lot easier to say, "apply DeMorgan," than to say, "why don't you negate the clause, remembering to negate each of the internal clauses, and switching the and's to or's and vice versa."

There exist people who use the names to sound intellectual, and these people are annoying, but just because some people enjoy spouting (in the general public) "obscure" rules and names, that doesn't mean that using such names is without value.

Re: Do software engineers need mathematics? (2000)

#22
Back when I was developing web apps, I was surprised to hear that programming was supposed to require any math. But I've found that, as I've built more interesting and sophisticated things, I needed more math. I took about 15 math courses in school, and I can't think of any I haven't found useful.

Lately I've been looking at using model checking in my work, which touches on much of the math I know. Advanced logic to give a specification, and automata theory to run it. Group theory to express symmetries that let it run orders of magnitude faster. Add a bunch of real analysis and statistics if you want to do it probabilistically. Apparently number theory crops up too.

Meanwhile, a friend of mine develops ImplicitCAD, a programming language for making 3D objects. How does he test whether his 3D models have holes? Algebraic topology.

Re: Do software engineers need mathematics? (2000)

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

I had to puzzle it out the first few times. Then I found in a college course on hardware design that the rule was named after some guy, which I found gratifying.

I remember having quite a time doing a doubly-linked-list, the first time I had to think it through. Always wondered why that wasn't named after some bloke . . . :-)

Re: Do software engineers need mathematics? (2000)

#24
I am an electrical engineer by schooling, but now work as a software engineer. I have done quite a bit of higher math in school, but in my career, I find that basic math is more useful. Interestingly, although I know some higher math, software engineering requires intuitive understanding of basic math, which some of us skimmed over while cramming for calculus exams.

Re: Do software engineers need mathematics? (2000)

#27
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 can't imagine in what context that would be considered "advanced" logic. Getting a working knowledge of classical[0] logic is very simple; the only thing that tends to surprise people is the notion of a vacuously true conditional.

[0]By which I mean, Boolean, true/false, the sort you can use truth tables for. I.e., classical logic as opposed to, say, constructive logic. I don't mean, like, ancient Greek logic or whatever, which I'm told actually is pretty limited. Maybe he was coming at it from that perspective?

Re: Do software engineers need mathematics? (2000)

#28
post #11

Earlier quoted context omitted.

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.

These ideas are named to honor the person who did much of the grunt work to get them proven/accepted, but we continue to use the name as a convenience. If you're working with educated people, it's a lot easier to say, "apply DeMorgan," than to say, "why don't you negate the clause, remembering to negate each of the internal clauses, and switching the and's to or's and vice versa." There exist people who use the names…

In this case you could come up with a short name for it that doesn't refer to a person -- you could call it "logical duality", since, after all, it is both logical and a duality. But people know it as "DeMorgan", and in this context I think the most important thing is being understood. Those who don't know the law probably wouldn't recognize it if you called it "logical duality" either.

Re: Do software engineers need mathematics? (2000)

#30
post #22

Back when I was developing web apps, I was surprised to hear that programming was supposed to require any math. But I've found that, as I've built more interesting and sophisticated things, I needed more math. I took about 15 math courses in school, and I can't think of any I haven't found useful. Lately I've been looking at using model checking in my work, which touches on much of the math I know. Advanced logic to…

Model checking is a pretty cool idea, except you really need to have it built into the language rather than as an annotation or seperate system. Maintaining a seperate model just gives you two places to make typos.
Post reply on HN