|
|
|
|
|
by zamfi
2157 days ago
|
|
> Mathematical notation presumably mostly makes perfect sense to the kind of people who deal with mathematical notation all day long. Maybe the overuse of opaque names leads to self-selection of who becomes a mathematician? Single-letter non-descriptive variable and functions names would “make sense” to programmers who use it all day long too — but that alone doesn’t make it a good idea. |
|
We're trying to derive that a^x = b^(x * log_b(a)).
Or in verbose descriptive terms, oldBase `exponentiate` oldExponent = newBase `exponentiate` ( oldExponent `multiply` inverseExponentiationInNewBase (oldBase) ).
We could maybe argue about the verbosity and clarity of each statement, but I think math's notation shines when you compare derivations instead of statements:
or with descriptive names (apologies to readers on mobile): If I were doing it by hand, I know I'd screw it up with long stuff to copy. Remember accidentally dropping negative signs in school? Hell, I'm still not really sure I got the second version right. By hand, I'd also get super frustrated and impatient writing sooo much.This is a ridiculous over the top example, since I'm avoiding using everyday symbols like * and / and ^ and log, but for working mathematicians and applied mathematicians, their notation is just as familiar to them and I'm sure it'd be equally annoying to write out descriptively as it is for us to write out basic math symbols descriptively.
Programming notations are to be written and read. Math notation is to be manipulated.