9 ms·
I think a big barrier to understanding math for a lot of people, and definitely for me, is names. Things get named for people instead of what they are: "the Kro
by adrusi 11y ago
I think a big barrier to understanding math for a lot of people, and definitely for me, is names. Things get named for people instead of what they are: "the Kronecker delta function". You came up with some genius model and proved it, and after all that work you decided that your name and some greek letter are what people need to think of when they hear about it and not anything about what it is? Fuck you Kronecker!
The problem extends beyond mathematics, to essentially everything except programming. And in fairness out of all the fields with shitty names, mathematics has the best excuse: unlike the natural sciences and engineering, math is completely abstract. But programming is also pretty abstract, and yet we don't call stacks Hawk-elbower's double-u structure! No, we notice a semantic similarity between our abstract concept and something more familiar, and we come up with a monosyllabic, five-letter word that conveys a lot of information about the construct to someone completely uninitiated. This both makes it more approachable and easier to learn, serving as a mnemonic device. And once you've internalized it it makes no difference whatsoever.
I hear people whine that naming abstract concepts after concrete objects will only give people a harder time thinking abstractly. Bullshit, I say: have you ever heard of a novice programmer thinking that stacks are only good for representing stacks of paper or dictionaries for looking up definitions of human words.
I understand that naming things nicely in math is harder than in programming, and that in some more cutting-edge branches there might simply be no good analogies to draw, but I don't think it's impossible for more mundane topics. Math professors teach by drawing analogies and thinking of applications all the time. In any case we can do a lot better than "Kronecker's delta function".
- jandrese 11y agoI've always been annoyed that mathematicians are stuck on one letter variable names. Worse, when they ran out of letters instead of rethinking the policy and considering descriptive variable names they instead decided to use foreign alphabets instead. Regular mathematical notation is like what you would get when you run a program through one of those obfuscators that blows away all of the comments and whitespace, reduces variables down to a single letter, and renames all of the functions to single letters. But we can't change it because it would confuse all of the existing mathematicians who spent years memorizing all of the quirks of the system.
- archgoon 11y agoI know, right? Seriously, it'd be like naming a popular javascript framework 'Angular' or some other nondescript name like 'Hadoop'.
- keithwhor 11y agoI don't know why you're being downvoted. You're exactly right. "Oh, our stack is Rails on top of Postgres, we interface with Neo4j for some things. We use Ionic (which is of course Angular) for mobile and are playing with React." To pretend that anything above the most fundamental abstractions doesn't involve domain-specific, obtuse, arbitrary lingo is just silly.
- archgoon 11y agoBecause it was overly sarcastic. Hacker News, correctly, prefers commenters to make extended comments arguing a point rather than engaging in 'gotcha!' soundbite counterarguments. This is both for improved civility (so that actual discussions can take place), and so that people flesh out their counterarguments more. I apologize to adrusi for my response.
- keithwhor 11y agoDon't beat yourself up. Life's no fun without a little sarcasm. I don't think your intentions were misplaced and I don't think the rules are there to prevent fun. Just to put a reasonable limit on cynicism / negativity.
- DannoHung 11y agoI agree, but JavaScript-framework-primeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprimeprime would also be hard to remember.
- draven 11y agoThey'd rename it prime^26 or p128e.
- OscarCunningham 11y agoWhat would you call the Kronecker delta?
- mrob 11y ago"equality operator"
- exgrv 11y agoExcept it is not the equality operator, but a special case of an indicator function (c.f. comment by pash).
- abecedarius 11y agoThe equality function? Actually Knuth advocated a notation that went something like [x=y] for the Kronecker delta of x and y, with the obvious generalization to other conditionals.
- pash 11y agoIt's often called an indicator function. (The Kronecker delta is a special case of the more generally defined set-indicator function [0], the notation for which is also more obvious. The Kronecker delta can be described in this notation as something like 1_{i=j}(i, j).) Similarly, the Dirac delta function is often more descriptively called an impulse function. The Heavyside step function does what it says on the box. A great many things in mathematics do have descriptive names, although it often helps to know a bit of Latin or Greek or to "get" the metaphor. That said, I don't think naming things in mathematics is particularly akin to naming things in programming. In programming, a good name can tell you enough about an object to be able to use it without understanding anything further about it, but in mathematics it's rare to be able to get much use from an object unless you assimilate its definition and the major consequences of its definition in the context you're working in. There are few "user-facing APIs" in mathematics, and mostly for good reason. 0. https://en.m.wikipedia.org/wiki/Indicator_function https://en.m.wikipedia.org/wiki/Indicator_function
- jgh 11y agoAlthough I don't agree with the sarcastic answer the sibling post here gave, I also don't entirely agree with your point -- nor do I entirely disagree with it. Software development still has plenty of algorithms and data structures named after their inventors. Could you guess what a Duff's device is based on the name? How about a Merkle tree? (Although arguably you could call the Merkle tree a hash tree and get the point across)
- archgoon 11y agoWhat do you disagree with? That programmers have a long history of giving things arbitrary and sometimes non-sensical names that only make sense in context? Like GNU? That the original article is directly trying to convince people that programming and math really aren't that different, but you do have to learn the other's culture?
- jgh 11y agoAll these things you're naming are brand names for software and companies.
- archgoon 11y agoSo? They're also solutions, or parts of a solution, to larger problems. They're tools, just like the kronecker delta. 'awk '{print $1'/'$2}' | xargs curl | jq .' None of the those programs things have any meaningful names. but they're all used in a common programming, or scripting, expression. If someone says "Oh, you should use Hadoop for that", this is a proposal to solving a problem.
- zumatic 11y agoAgreed, but in your example 'xargs', 'curl' and 'print' are arguably meaningful.
- iheartmemcache 11y ago
- jhanschoo 11y agoThere are a lot of names in mathematics that are common names; limits, sequences, absolute, smooth, continuous, etc.. I daresay the named-after-people definitions are in the minority. You also have definitions named after common intuitions like openness and closeness in topology that end up confusing people because after some thought, mathematicians have found that some sets are open and closed at the same time, but that's not possible in most physical objects. Ultimately, I think that the unfamiliar-name problem is just something that people have to get over with. We learn all the time the difference Coca-Cola and Pepsi, Apple and Google, and so many other unfamiliar names.
- yummyfajitas 11y agoClosed sets are actually well named - a closed set is a set which is closed under the operation of taking limits. It's open sets which are badly named. Open sets are used for distinguishing between points - i.e., two points (x,y) are topologically distinct if you can find two disjoint open sets x \in X, y \in Y with X \cap Y == \emptyset. Coming up with a collection of sets which are good for this purpose is totally NOT the opposite of being closed. "Distinguishing sets" might have been a better name.
- jandrese 11y agoYes, but when someone is writing down the equation they don't say: "Sum of this set from 1 to infinity" They use a capital Sigma, and scatter the symbols around it. The terms exist, but they're not present in the equations!
- iheartmemcache 11y agoThis is true of any sufficiently advanced ecosystem. You're going to develop your own lexicon based on the historical advancement of your field. In our field, functor can mean at least 3 different things[1], which I argue is even worse, because without sufficient context you could make a false presumption. (Granted in mathematics, greek-letters are polymorphic, the polymorphism tends to be isolated in between branches). Computer science has only had about 50 years to develop - we may have seen our Issac Newtons and Leibniz's but once we have 200 years of Gausses and Riemann's there'll be a lot of additional abstraction that's implicit depending on which subset of study you choose. CS will fork off into various subsets just like any other formal science, and a greek symbol to someone who finished their PhD in complex analysis might mean something entirely different to someone who's been working specifically in combinatorics for 30 years. At that point, our level of abstraction won't be pieces of paper on a stack. It's not exclusive to CS or mathematics, ask someone who hasn't taken O-chem what "R" means in a Lewis Diagram. Ask a non-linguistic (of either type (ugh pun not intended)) what a 'terminal symbol' is. I'm sure they'll answer differently from someone who works at the airport, that's for sure. [1] http://www.catonmat.net/blog/on-functors/ http://www.catonmat.net/blog/on-functors/
- catnaroek 11y agoThe ML module language, as well as the scientific literature on it, consistently uses analogies from category theory. For instance, mappings between signatures (viewed as categories whose objects are structures) are called “functors”. Also, the act of making a signature less abstract by specifying one of its abstract type components is called (parameterization by) “fibration”. This analogy has some merit. For instance, the technique of structural abstraction shown in section 10.2 of Okasaki's book “Purely Functional Data Structures” can be viewed as defining monads - in categories other than Hask (or Scal or whatever)! The analogy isn't 100% precise, though: If structures with the same signature (and perhaps equational laws) form the objects of a category, then what exactly are the morphisms? There are several possibilities. My favorite one is pre-ordering structures by the asymptotic complexity of their operations. (Every preorder can be viewed as a thin category.)
- droque 11y agoSome concepts can't be understood by drawing an analogy to an already known object. For example, the famous "a Monad is a Burrito" (non)explanation.
- spion 11y agoA monad is an associative wrappable flatMappable. There, all done :)
- ced 11y agoYou came up with some genius model and proved it, and after all that work you decided that your name and some greek letter are what people need to think of when they hear about it and not anything about what it is? Fuck you Kronecker! I believe the usual story is that Kronecker called it a delta function, then someone other than Kronecker decided to call it a Kronecker delta. It would be ridiculously presumptuous otherwise!
- j2kun 11y agoFWIW, it never happens that someone names a mathematical thing after him/herself. It is almost always named after them by a subsequent author as a sign of respect for the inventor.
- SilasX 11y agoAgreed. Fortunately, the Heaviside function gives us the best of both worlds. It's named after Heaviside, and it has a heavy side!
- jaybosamiya 11y agoWhen I first came across the Heaviside function, I actually thought it was named as such due to its heavy side. It was only about a year later, that I realized -- "Why would they spell Heavy wrong? I need to Google this..." and found out about Oliver Heaviside
- hjek 11y agoA counter-example is "Currying"/"Schönfinkelisation" (although it is also a mathematical concept).
- catnaroek 11y agoI'm no professional mathematician, but, as someone who studies mathematics in his free time, I've never struggled with “scary-sounding” terminology that tells me up-front how abstract a concept is. On the other hand, I have struggled with familiar-sounding names being used for unfamiliar structures. For instance, non-Hausdorff “spaces” totally baffle my (admittedly not very well-trained) geometric intuition about space.