Live data from Hacker News

Parallels Between Math and Software Engineering

beta.oreilly.com

61–70 of 97 posts

Re: Parallels Between Math and Software Engineering

#61

Earlier quoted context omitted.

>Mathematical truths and objects are real things with existence independent of our minds that we "discover," not just designed things. While its almost certainly true that the content of mathematics is mind independent, it is far from obvious that these objects are "real things".The real meat of the issue is how exactly the mind-independence is cashed out. Different ideas paint a vastly different picture of mathemati…

Can't a mathematical theory compress, generalize, and map out many relevant empirical facts very well without needing ontological commitments to the generalizations themselves? The real numbers seem to be a perfect example: if you work in physics at scales where quantization doesn't noticeably apply, the only way to calculate correct predictions is really to use real numbers and continuous (mostly Euclidean) spaces.…

>Can't a mathematical theory compress, generalize, and map out many relevant empirical facts very well without needing ontological commitments to the generalizations themselves?

Maybe, but its not obvious. The fact that the same generalizations are multiply realizable in different processes/structures certainly says something interesting. The consequences of this multiple realizability hasn't been fully investigated.

Your response seems to be arguing against my post which was mainly about mind-independence, by arguing against platonism. I don't see that mind-independence necessarily implies platonism. In fact, I find all forms of platonism extremely distasteful.

>The map is not the territory, so shut up and calculate.

Right, but this in fact goes to the heart of the question of the philosophy of mathematics. When someone says that mathematical objects are mind-independent, they are not talking about the notation itself (the map), but rather the content of the notations (the territory), i.e. the structure revealed through the notation. It should be pretty obvious that there are many interesting questions about the mind-independent structure of the territory. "Shut up and calculate" isn't an answer to this question, but rather the attitude that the answer simply doesn't matter. For many fields the answer doesn't matter, but the question is worth asking nonetheless.

Re: Parallels Between Math and Software Engineering

#62

Earlier quoted context omitted.

Context: I never did too well in statistics, and in general I was always pretty bad at understanding simple Math notation like sigma notation, multi-variate calc, or linear algebra. Here's the Hokusai paper: http://www.auai.org/uai2012/papers/231.pdf And here's an implementation: https://github.com/dgryski/hokusai For me to understand the paper, I had to go through the code to piece out the Math jargon, even though t…

I think it's probably just that you have far more relevant experience with reading code. Math is its own language, and math departments only really start teaching how to read and write it in Real Analysis classes. As my math professor stepfather said his advisor once put it, "Everything before that is just to keep the children from running in the halls."

This is too perfect. I did a minor in math, and covered two semesters of real analysis and two of algebra, plus an optimization class and some advanced (undergraduate) statistics, and holy crap I felt like I was joining the grown up table when I started.

Re: Parallels Between Math and Software Engineering

#63

Earlier quoted context omitted.

Context: I never did too well in statistics, and in general I was always pretty bad at understanding simple Math notation like sigma notation, multi-variate calc, or linear algebra. Here's the Hokusai paper: http://www.auai.org/uai2012/papers/231.pdf And here's an implementation: https://github.com/dgryski/hokusai For me to understand the paper, I had to go through the code to piece out the Math jargon, even though t…

I think it's probably just that you have far more relevant experience with reading code. Math is its own language, and math departments only really start teaching how to read and write it in Real Analysis classes. As my math professor stepfather said his advisor once put it, "Everything before that is just to keep the children from running in the halls."

I've always wondered why Real Analysis isn't introduced earlier in math education. It might make it easier to grasp concepts introduced in upper-level math.

Re: Parallels Between Math and Software Engineering

#65

At the end of the article, the author mentions how we could possibly find other designs of mathematics. Well, some people already have! Some mathematicians did not like the law of excluded middle, which states that for any proposition A, either A is true or A is false. So they invented intuitionistic logic, which is normal logic without the excluded middle, and started rewriting mathematical proofs in this new system…

> One of the consequences of this axiom is that every subset of the real numbers has a least element according to some ordering.

An even weirder consequence of AC is the Banach-Tarski paradox [1].

Other examples of how mathematicians come up with alternative perspectives are non-Euclidean geometries that replace the parallel postulate of the common Euclidean geometry, e.g. Lobachevskian [2] and Riemannian geometry [3].

[1] https://en.wikipedia.org/wiki/Banach%E2%80%93Tarski_paradox

[2] https://en.wikipedia.org/wiki/Hyperbolic_geometry

[3] https://en.wikipedia.org/wiki/Elliptic_geometry

Re: Parallels Between Math and Software Engineering

#66
post #42

Earlier quoted context omitted.

I don't think you can say of any topic in mathematics that it's the best example of why learning math is useful. What about calculus? It's an immensely powerful tool that, by harnessing the power of the infinite and the infinitesimal, unlocks a massive body of practical applications in nearly every field of quantitative knowledge. And what about discrete math? Without it there would be no such thing as a computer. Di…

> What about calculus [...and...] differential equations ? I agree that calculus and diff. equations techniques are important, but if you look closely, you'll see they are only "necessary" for engineers and physicists, and other "hard" sciences, and not so essential for non-science studies. Imagine "pitching" the benefits of learning university-level math to a class of Arts students. Can you honestly say their lives…

I remember in my college linear algebra class (I think it was) that my prof made the joke that his wife was the projection of the vector representing all the attributes of his ideal woman into the space that represented the pool of all women who would date him.

I thought it was hilarious. Almost made me want to be a math major (I was just a physics major). Which makes me think of: https://www.xkcd.com/435/

Re: Parallels Between Math and Software Engineering

#67

Earlier quoted context omitted.

>Mathematical truths and objects are real things with existence independent of our minds that we "discover," not just designed things. While its almost certainly true that the content of mathematics is mind independent, it is far from obvious that these objects are "real things".The real meat of the issue is how exactly the mind-independence is cashed out. Different ideas paint a vastly different picture of mathemati…

Can't a mathematical theory compress, generalize, and map out many relevant empirical facts very well without needing ontological commitments to the generalizations themselves? The real numbers seem to be a perfect example: if you work in physics at scales where quantization doesn't noticeably apply, the only way to calculate correct predictions is really to use real numbers and continuous (mostly Euclidean) spaces.…

I don't think math exists without sentience, it is a construct . What math describes can and is "real" in the traditional sense, but that doesn't necessarily make objects, concepts in mathematics "real objects." I take this position with language as well, it's all a metaphor.

Re: Parallels Between Math and Software Engineering

#68
post #19

The other day I realized that a man-made law is also a bit like mathematics or computer software. It is carefully designed and constructed. Ideally, it is intended to work like a machine with as little room for human discretion as possible. And just like mathematics, adding an another "axiom" to the law has far, far-reaching consequences.

>Ideally, it is intended to work like a machine with as little room for human discretion as possible

Actually, these laws are the most dystopian.

One concept that seems to have this design goal is strict liability: what you intended, what you believed, what elaborate conspiracies were created to deceive you, none of that matters. If you did it, you are guilty and will be punished, full stop. This is attractive because it's much harder to prove beyond a reasonable doubt that someone did something "with malice" or "intentionally" than to prove that they did it. This tends to show up around youth sexuality, probably because that's an area where social norms have changed quite a bit.

It doesn't matter if the 17.5-year-old you slept with presented a fake ID saying she was 18, took the lead in all sexual activity, etc. It doesn't matter if she shows up in court and begs the judge to let you go. People whose 18th birthday has not elapsed cannot give consent, full stop. Sex without consent is rape, rapists are bad people and should be made to suffer, so you're going to prison and then on to the sex offender registry. Your judge, and the judges you appeal to, all think this is ridiculous, but their hands are tied because the law was written like a computer program that failed to consider edge cases. (Literally edge cases - those that fall near numerical boundaries. Some states have patched their legal systems to allow consent between partners who are close in age but under the normal age of consent. Some have, but only for heterosexual couples. Some still haven't. My state actually tried and convicted two teenagers as adults for raping each other at the same time.)

Same with child porn. Child porn laws were created a time when taking and distributing a picture could only be part of a commercial publishing operation. Anyone who creates or possesses an image of a nude child is guilty of a child pornography offense. Seems reasonable. Now every teenager has an internet-connected camera in their process, and we found an edge case we forgot: the child pornographer is the child him/herself and the consumer is her long-term boyfriend, also underage. Still just as illegal and the same punishment is required. You would hope prosecutors would turn a blind eye, but "the law is the law."

These rather salacious examples are the most high-profile, but I'm sure the same problems happens in more mundane areas of law as well.

At some point you have to trust judges and you have to empower bureaucrats to help people get out of obviously ridiculous situations. Laws are much more difficult to change than computer programs; there needs to be a reasonable amount of discretion for a manual override until the law can be fixed.

Re: Parallels Between Math and Software Engineering

#69
post #66

Earlier quoted context omitted.

> What about calculus [...and...] differential equations ? I agree that calculus and diff. equations techniques are important, but if you look closely, you'll see they are only "necessary" for engineers and physicists, and other "hard" sciences, and not so essential for non-science studies. Imagine "pitching" the benefits of learning university-level math to a class of Arts students. Can you honestly say their lives…

I remember in my college linear algebra class (I think it was) that my prof made the joke that his wife was the projection of the vector representing all the attributes of his ideal woman into the space that represented the pool of all women who would date him. I thought it was hilarious. Almost made me want to be a math major (I was just a physics major). Which makes me think of: https://www.xkcd.com/435/

I can't decide whether to go for the "null vector" joke or the "yo mamma's magnitude is so great"...

Re: Parallels Between Math and Software Engineering

#70

Earlier quoted context omitted.

Context: I never did too well in statistics, and in general I was always pretty bad at understanding simple Math notation like sigma notation, multi-variate calc, or linear algebra. Here's the Hokusai paper: http://www.auai.org/uai2012/papers/231.pdf And here's an implementation: https://github.com/dgryski/hokusai For me to understand the paper, I had to go through the code to piece out the Math jargon, even though t…

I think it's probably just that you have far more relevant experience with reading code. Math is its own language, and math departments only really start teaching how to read and write it in Real Analysis classes. As my math professor stepfather said his advisor once put it, "Everything before that is just to keep the children from running in the halls."

http://ocw.mit.edu/courses/mathematics/18-100c-real-analysis...

Interesting. I'll have to check it out. Thanks!

Post reply on HN