Mathematical notation
It just dawned on me that mathematical notation is a lot like like obfuscated C, a la IOCCC.
Anyone else agree? Disagree?
I think it's designed for mathematicians, I don't find it obfuscated (as in purposely obfuscated) though it can be understandably complex (as it describes very complex things)
+2c
+2c
obfuscated may be a bit too far. but it is definitely extremely dense, inconsistent syntax and grammar, and questionable nomenclature at times.
I guess obfuscated often implies intent to deceive, so it may not be the best word. In reading some expressions, though, I can't help but think of obfuscated C code: i.e. this expression would be 10 times more readable if it was split over a few lines and given meaningful variable names.
Quote: Original post by DaWanderer
I guess obfuscated often implies intent to deceive, so it may not be the best word. In reading some expressions, though, I can't help but think of obfuscated C code: i.e. this expression would be 10 times more readable if it was split over a few lines and given meaningful variable names.
I used to do a lot of mathematics at school, and at that time I was perfectly comfortable with naming "variables" with single letters and "x = y" to express conditions...
Now that I do almost only programming, it's quite the opposite. I can't write a single math line (on paper) without using meaningfulVariables od double == to express conditions... Funny how programming has perverted me. (or enlightened me) [smile]
The reason variables in mathematics are short is that you're working on the equations in the abstract. That is, there *isn't* a meaningful name to give to the variable because it *doesn't* represent or model a specific thing.
Well, most of the time, anyway. :) But then full variable names get ruled out because it interferes with the convenience of implicit multiplication of adjacent terms.
Well, most of the time, anyway. :) But then full variable names get ruled out because it interferes with the convenience of implicit multiplication of adjacent terms.
Mathematical notation is concise, yes, but it's not obfuscated. I'm sure even the very best C++ code looks like gobbledegook to someone who isn't a coder. In the same way, mathematical notation might seem obfuscated to someone who is not a mathematician.
I don't see the connection with obfuscated C.
C has a very limited conceptual vocabulary from which to construct programs and algorithms. One is severely limited in what one can express in a small amount of C code (for a humorous version of this, see Greenspun's Tenth Rule: "Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.").
In mathematics, on the contrary, the language is quite expressive and free to be molded to the user's content. People often don't take sufficient advantage of this. But either way the notation is meant to be concise and easy to manipulate.
There's one area of mathematics where I will agree, however, that one must jump a few initial hurdles to master the notation, and this is ring theory. One is dealing with an object that is at once an additive abelian group and a multiplicative semi-group. For instance, if x is an element of a ring, then it's common to write -x for the inverse of x in the additive group part of the ring. Semantically this is not the same as (-1)x; indeed, many authors do not even require that rings have multiplicative identities, so this latter expression may not even be meaningful. Nevertheless, if the ring does have a 1, then it is true that (-1)x = -x, even though each side of this equation semantically is quite distinct. Further, if 1 is the multiplicative identity of a ring, it's common to write "2" in place of "1+1", even though the integer 2 is not necessarily an element of the ring.
[And of course in all this the symbol "1" does not refer to the integer 1 but to the identity of the ring!]
On the flip-side, however, the advantages of this notation are very obvious once one starts doing work with rings beyond the definitions.
C has a very limited conceptual vocabulary from which to construct programs and algorithms. One is severely limited in what one can express in a small amount of C code (for a humorous version of this, see Greenspun's Tenth Rule: "Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.").
In mathematics, on the contrary, the language is quite expressive and free to be molded to the user's content. People often don't take sufficient advantage of this. But either way the notation is meant to be concise and easy to manipulate.
There's one area of mathematics where I will agree, however, that one must jump a few initial hurdles to master the notation, and this is ring theory. One is dealing with an object that is at once an additive abelian group and a multiplicative semi-group. For instance, if x is an element of a ring, then it's common to write -x for the inverse of x in the additive group part of the ring. Semantically this is not the same as (-1)x; indeed, many authors do not even require that rings have multiplicative identities, so this latter expression may not even be meaningful. Nevertheless, if the ring does have a 1, then it is true that (-1)x = -x, even though each side of this equation semantically is quite distinct. Further, if 1 is the multiplicative identity of a ring, it's common to write "2" in place of "1+1", even though the integer 2 is not necessarily an element of the ring.
[And of course in all this the symbol "1" does not refer to the integer 1 but to the identity of the ring!]
On the flip-side, however, the advantages of this notation are very obvious once one starts doing work with rings beyond the definitions.
Quote: Original post by Zahlman
The reason variables in mathematics are short is that you're working on the equations in the abstract. That is, there *isn't* a meaningful name to give to the variable because it *doesn't* represent or model a specific thing.
Well, most of the time, anyway. :) But then full variable names get ruled out because it interferes with the convenience of implicit multiplication of adjacent terms.
Amen... :)
Quote: Original post by nilkn
On the flip-side, however, the advantages of this notation are very obvious once one starts doing work with rings beyond the definitions.
Working with rings beyond the definitions. hmm. you mean the stuff we teach elementary school kids? :p
My qualms with notation are the inconsistent grammar and syntax (as you give one example of) and questionable naming and sometimes messy syntax (differential calculus is a big offender).
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement