4 ms·
Seriously! Any programmer would get pilloried for working solely in single letter variable names. It's so tedious that this is the norm in math.
by moultano 11y ago
Seriously! Any programmer would get pilloried for working solely in single letter variable names. It's so tedious that this is the norm in math.
- wtallis 11y agoI think it's largely because the long-standing mathematical tradition comes from an era where those formulas always had plenty of context, be it that of a topic-specific class/lecture or a paper that is published in a journal with a particular focus. Once you know what field of mathematics you're dealing with, there are strong conventions for what variables mean what; that's one of the things that has let to mathematics drawing from so many alphabets. It's only been with relatively recent advances in information technology that the highly technical details of many specialties have been aggregated closely enough for the context to be lost. Also, long variable names would greatly obscure the overall structure of many formulas, which could be an even bigger problem.
- narrator 11y agoI think that the short variable names in math come from the time when these things had to be written out in long hand on blackboards. You ever see old sci-fi movies, like "The Day The Earth Stood Still" where professors are working out ideas on huge blackboards? Having long variable names wouldn't fit on the blackboard and would be slow and hurt your hands.
- wtallis 11y agoThe lack of an efficient IME for verbose math input on a computer certainly accounts for why math is still terse when done in real-time such as when extemporaneous lectures or when working something out. But I don't think it fully explains why the convention persists even in published works that took months or years to prepare; there's got to be a significant effect for the readers and not just the writers. If a longhand style of presentation were as clearly superior for mathematics as for software source code, one probably would have caught on by now.
- narrator 11y agoIt's probably just the weight of tradition from the longhand days that leads people to use the short variable names, not that it's somehow better, even on a computer. All it would probably take would be for someone to start a math journal that required a minimum of three letter variable names and everyone would switch over.
- GFK_of_xmaspast 11y agoWho would want to submit to such a journal?
- kyllo 11y agoAny programmer except a Haskell programmer.
- eru 11y agoAnd for the same reasons: some things are so abstract, that there's not really a better name for them than line-noise symbols.
- bitwize 11y agoAnd then they run out of Latin letters so they switch to Greek. Then they run out of Greek letters so they switch to Hebrew... You have to remember that math is written for the sake of mathematicians' brains, not for the sake of dumb machines which accept only linear strings of a limited character set through a teletype. A mathematician can look at a formula and subconsciously break it down into constituent parts based on its shape. Multi-letter (word? phrase?) variable names would only serve to add unnecessary clutter and obscure the shape of the formula. Meaningfulness of names is a secondary concern, if it is a concern at all; meaning can be established in the text surrounding the formulas or equations; and if things indeed get too complex for a set of a few formulas, the option is always there to switch representations -- to computer code or pseudocode.
- weinzierl 11y agoI think I've never seen Hebrew. Or maybe I've seen it and didn't recognize it as Hebrew. Do you have an example?
- vlasev 11y agoQuick one: https://en.wikipedia.org/wiki/Aleph_number https://en.wikipedia.org/wiki/Aleph_number
- dagw 11y agoThere are also Beth numbers (https://en.wikipedia.org/wiki/Beth_number https://en.wikipedia.org/wiki/Beth_number), closely related to Aleph numbers, but as far as I know that is the only place hebrew letters show up in mathematics.
- vlasev 11y agoAlso, mathematics' naming conventions are quite strict. The nabla symbol is almost-exclusively used for vector-calculus operations. The letters t, s, u, v are almost-always used for parametrizations. The letters i, j, k, n, m are usually used as indices of summations. We can go on.
- vlasev 11y agoThe purpose is completely different! Here's one of several important reasons. You wouldn't survive doing math with longer variable names. Imagine yourself writing "time" every time you need to write it in a formula in the course of a working on a problem. Just expand the following expression (time + 2)(2time - 3)(4time + 5) by hand, writing "time" every time. Or imagine studying vector calculus and writing out the formulas with the long names like "grad", "curl", etc. That kind of notation was replaces with the nabla symbol and overloaded notation for a very good reason. Also, most derivations, for simple formulas even, go through larger complexities before they converge to something slick. Take a look at the derivation of the Navier-Stokes equations [1] and see if you could have done the same thing with longer variable, function and operator names. So yea, it all boils down to repetition and quantity. [1]: https://en.wikipedia.org/wiki/Derivation_of_the_Navier%E2%80%93Stokes_equations https://en.wikipedia.org/wiki/Derivation_of_the_Navier%E2%80...
- eru 11y agoAnd in Haskell. At least for the more abstract bits of code.
- collyw 11y agoYour comment just made me realise why I hate any hackerrank "challenges" I have looked at. (Skyscanner uses them for interview tests, I have been close to applying twice, but got offered other jobs before I got around to completing them). I have decided to try a warm up exercises a couple of times before applying but the way they word the questions is so unmeaningful: 'n' lines with y variables, plus spending 20 minutes trying to work out how to read their input. No debugger and not easy way to cut and paste, as its all in a web form. Fuck that, I am a software engineer, I usually read data from databases and name my variables properly and use tools to help me understand the problem, not hinder myself.
- wott 11y agoAll right, so nowadays software engineers cannot read specifications, cannot program and correct their mistake without a debugger, cannot do anything without an IDE, cannot do anything without copy-pasting (from SO) and read their data from a database. Jesus, please send me back to XXth century.
- collyw 11y agoSure I can but I don't have an hour and a half time limit on it under normal circumstances. You want me to do something in a rush give me the tools I am used to. Should I code in C rather than python just to prove I can?