Parallels Between Math and Software Engineering
31–40 of 97 posts
Re: Parallels Between Math and Software Engineering
#32Earlier quoted context omitted.
Most mathematicians don't spend their time considering extensions of ZFC, but mathematicians are always adding axioms in a different sense. Add a commutativity axiom to group theory and you get commutative group theory. Add an axiom that "the space has total measure 1" to measure theory and you get probability theory. And so on.
These are generally called axioms, but these are totally distinct from axioms in the sense of ZFC's axioms. They are simply part of the definition of a group, commutative group, etc. Since they are just part of the definition of the structure, choosing the "wrong axioms" will only result in a structure which has no actual instances, not in inconsistency of the underlying theory. As such, they most certainly don't hav…
I wouldn't really say they're "totally distinct". For example, one could say that general group theory is studying the theory (in the logic sense) of a group (usually the second order theory rather than first order, but you get idea). Then adding assumptions about the structure of the group under consideration is like adding axioms and looking at the new theory.
Re: Parallels Between Math and Software Engineering
#33Earlier quoted context omitted.
Most mathematicians don't spend their time considering extensions of ZFC, but mathematicians are always adding axioms in a different sense. Add a commutativity axiom to group theory and you get commutative group theory. Add an axiom that "the space has total measure 1" to measure theory and you get probability theory. And so on.
These are generally called axioms, but these are totally distinct from axioms in the sense of ZFC's axioms. They are simply part of the definition of a group, commutative group, etc. Since they are just part of the definition of the structure, choosing the "wrong axioms" will only result in a structure which has no actual instances, not in inconsistency of the underlying theory. As such, they most certainly don't hav…
Re: Parallels Between Math and Software Engineering
#34I think it is important to remember this, because mathematics, like a computer, "fights back." You cannot simply dream up whatever structure you want and have it mean what you want and behave how you want. See Godel's incompleteness theorems. No matter what you are doing, your mathematical constructs (including your implicit Turing Machines in your computer programs) must obey certain underlying constraints that are completely mind-independent. These constraints are what mathematicians study, albeit through a glass, darkly.
Regardless of ontological issues with the post, I like that it emphasizes the designed nature of our mathematical tools. The space of possible tools is so large that there is near-limitless room for human creativity and design in mathematical research. It is a shame that most mathematics classes don't really get that across.
edit: fixed misgendering, sorry, that was sexist.
Re: Parallels Between Math and Software Engineering
#35The 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.
Changes in law (almost) never add axioms because that would have global effects; instead, they tend to add folds to the manifold that law is. And many folds there certainly are. It is hard to find anything in law that holds universally. Examples (I’m picking mostly US law here, but I’m sure similar exceptions exist elsewhere): - everybody can vote? Well, we have https://en.wikipedia.org/wiki/Felony_disenfranchisement…
If it were just that the axioms of law are more complicated in the sense of being more conditional, then law would be extremely math-like. After all, theorems with lots of conditional properties (e.g., very common in certain types of algebra, a lot of dynamics, any programming language theory, etc.) are still mathematical theorems.
Law is distinguished from Math in two ways:
1) Law has more politics and isn't immune from politics. Mathematical truth, at least, is.
2) In law, the atomic propositions are always difficult to quantify and require human judgement; there is rarely an algorithm for weighing the evidence and determining guilt (or constitutionality, etc).
Re: Parallels Between Math and Software Engineering
#36Earlier quoted context omitted.
Most mathematicians don't spend their time considering extensions of ZFC, but mathematicians are always adding axioms in a different sense. Add a commutativity axiom to group theory and you get commutative group theory. Add an axiom that "the space has total measure 1" to measure theory and you get probability theory. And so on.
These are generally called axioms, but these are totally distinct from axioms in the sense of ZFC's axioms. They are simply part of the definition of a group, commutative group, etc. Since they are just part of the definition of the structure, choosing the "wrong axioms" will only result in a structure which has no actual instances, not in inconsistency of the underlying theory. As such, they most certainly don't hav…
But even then, it's not really an appropriate distinction -- accidentally assuming inconsistency and moving forward with it is exactly as far-reaching as assuming inconsistency at the foundations. And, doing some obscure work on an inconsistent foundations that no body uses is exactly as harmless as doing some obscure work on a structure without elements.
Re: Parallels Between Math and Software Engineering
#37Mathematical truths and objects are real things with existence independent of our minds that we "discover," not just designed things. The author seems to believe that the language used to describe mathematics (which is indeed a designed thing, just like software) is the only thing "there." She is probably a formalist. I think it is important to remember this, because mathematics, like a computer, "fights back." You c…
There are knowledgeable people who do not believe that mathematics is independent of our minds. It's not too far fetched of an idea. While I do not personally agree with this, I won't downplay such beliefs.
Re: Parallels Between Math and Software Engineering
#38Re: Parallels Between Math and Software Engineering
#39I have, on multiple occasions, looked at math equations in CS paper and been like, "WTF?" But when I look at the implementation in code it's so obvious what's going on.
I can't fathom how someone who cannot understand the math formula can understand the code.
Re: Parallels Between Math and Software Engineering
#40Mathematical truths and objects are real things with existence independent of our minds that we "discover," not just designed things. The author seems to believe that the language used to describe mathematics (which is indeed a designed thing, just like software) is the only thing "there." She is probably a formalist. I think it is important to remember this, because mathematics, like a computer, "fights back." You c…
What makes you say this? Isn't this an open philosophical question? What makes you say that mathematical objects exist independent of our minds? I can dream up a set of axioms of my own and do maths from there, so I don't think mathematics necessarily exists in some Platonic ideal dimension independent of our minds.