Comment by duped

5 years ago

It's not supposed to be insulting. I think the notation is more than offputting, and describing it as a barrier to entry is appropriate.

Like many kinds of formal notation it almost requires a class in a university to have it explained. The same is true of other fields dense in notation where you need to learn the conventions as much as the basics.

In my experience, any sufficiently deep study of any subject requires introduction of at least some degree of specialized terminology ("jargon") to be able to express things precisely and concisely. Sure, you can try to avoid this and use just "generic" language, but you almost always have to sacrifice one or both of these, at least partially. That can very well be worth it in certain cases (e.g. in an introductory text). But the site being discussed here is a list of specific (counter)examples. It would seem counterproductive to me to "dumb it down" given that it's primary purpose seems to be to discuss very specific situations; indeed, one common feature among many of these examples are subtle differences in what things mean in different parts of a language specification -- i.e., one of the reasons why domain experts invariably start using jargon.

That said, of course jargon often is als abused, or used in cases it doesn't have to be, etc. -- that's s bad! And many papers and books suffer from this and would be improved by using less jargon.

But in general I find this negative stance against formal notation, and the expectation that one should be able to dive into subtle and advanced examples without a need of at least some "studying" (not at all necessarily at a university!) quite odd, and unrealistic.

  • My main question here is: why is conciseness a good thing? Precision is a must, no argument here, but conciseness, to me, seems like a premature, and harmful, optimization. Is it really that much harder to stay within standard ASCII(EDIT: I mean "stay within the characters that the reader already knows how to read", which on the second thought doesn't have to be ASCII at all...)? Do you really need to express concepts with a single strange character? What does it buy you, given that the downsides for readability are quite obvious? There are arguments that using a full word for something would be confusing due to other/overloaded meanings of the word, but then I go read some papers and I see the same ideograms used in drastically different meanings, too.

    Jargon is ok. Jargon is what happens when you want to be precise while re-using brain machinery for reading. The exotic notations are, on the other hand, just jargon put in a form which you have to (re)learn how to read, for the sake of conciseness alone. That conciseness may pay off if you're going to be working with the notation 8h/day for 10 years (or a year, or maybe even half a year), but if you just want to read and understand concepts and learn facts... To paraphrase: you wanted a banana, but what you got was gorilla holding the banana and the whole jungle along with it.

    Hence my question: isn't creating exotic, one-character == 2.5 concepts, notations simply optimization which is harmful to the vast majority of potential readers?

    • > My main question here is: why is conciseness a good thing?

      Going through a single line of text to understand a concept is much better than having to go through two or more. I believe you should understand that, if your definition of conciseness matches mine.

      As a programmer, you know first hand that repeating oneself is bad practice: it's better to define a function which will encapsulate this computation you need to repeat rather than using copy and paste. The same goes for any language: having vocabulary to embody reccuring ideas helps us discuss complex ideas more easily.

      > Do you really need to express concepts with a single strange character?

      It is only strange to you because you don't speak greek. Of course many don't: my pedantic point is that Greeks might disagree with you about these characters being strange, and less pedantically, the scientific community will argue that it's not that strange when you belong to their group. There are only a handful of them to remember in the context of type theory.

      I guess you would want these characters, like Gamma (Γ), Delta (Δ), tau (τ) or sigma (σ) to be replaced by their ascii equivalent (eg. G, D, t, s), or perhaps even more evocative names? But even if this would be done, you'd still have to understand the underlying concepts they represent, such as the typechecking context which is usually represented by Gamma.

      These concepts are indeed not easy to understand: you would have to learn to become a Gorilla in order to be able to hold that banana you languish for, or survive in the Jungle that surrounds it.

      One good thing about using a different character set is that they stand out. There's little chance to confuse them with words of vernacular English. Greek mathematicians actually might have a harder time with these notations than you do :)

      4 replies →

    • This is about programming, but the "theory" part of type theory is an area of mathematics. Mathematics has always operated this way, going back to + and -.

      You could make a case that, in order to be of value to (most ordinary) programmers, type theory needs to present their results in programmer-speak, not in math-speak. But then programmers ask questions like "why is that true", and the answer is the proof which, being a mathematical proof, is in math-speak.

      1 reply →

    • > Is it really that much harder to stay within standard ASCII?

      Sorry, I don't follow. What is ASCII? Can you please avoid using computer jargon in your text, it makes my head hurt and it's an unnecessary barrier to entry. Can you please write instead "7-bit encoding of text characters"?

      :)

      3 replies →

    • > Do you really need to express concepts with a single strange character? What does it buy you, given that the downsides for readability are quite obvious?

      As someone who dabbles in the field, I'll bite. I find that more succinct expressions make their structure more apparent than less succinct expressions. This is critical for identifying (and then demonstrating) the general principles underlying any particular example, which is a great deal of what we do in theoretical research. (It's usually better to describe a whole family of solutions than to describe a single solution; and failing that, to indicate some directions potentially leading to general principles.)

      What do I mean by structure? This is a bit of a dodge, but structure is what you get when you remove all the data, all the aspects that pin an expression to a specific scenario instead of a general pattern. If you can recognize and memorize the pattern, you can apply it to a much broader class of examples than the one you learned it from. Concise notation is one tool for downplaying the concrete data and calling out the common aspects more deliberately.

      As other posters have said, this can be abused. I'd even say it's a very rare paper that uses concise notation appropriately to its fullest extent as an aid to the reader. But the concision does serve an important purpose to experts in the field (who need rather less aid): it makes the newly contributed patterns more visible (and uses existing patterns to effectively de-emphasize parts).

      > but if you just want to read and understand concepts and learn facts...

      Most research papers do not have as a goal for a technical reader to understand concepts and learn facts. (There are certainly visible exceptions, see just about anything written by Simon Peyton Jones.) Research papers are evidence of progress at the forefront of human knowledge; they're shared amongst an expert community to help drive that whole community forward.

      We absolutely need more effort to distill research and collect it into a more cohesive picture. Unfortunately, that responsibility does not (and probably cannot, in the current system) fall on the original researchers themselves. There are a few organized efforts out there for some fields; the one I know of is Distill.pub, for machine learning: https://distill.pub/about/

      >> When we rush papers out the door to meet conference deadlines, something suffers — often it is the readability and clarity of our communication. This can add severe drag to the entire community as our readers struggle to understand our ideas. We think this "research debt" can be avoided.

      But I don't think the concision of notation is at fault. It's just the most obvious roadblock to a (relatively) lay reader. The truth is simply that the paper wasn't written with you in mind.

I don't get it, do you feel like you need a class in a university to learn programming? Source code is nothing but formal notation. The fact that it kind of looks like English text if you squint makes no difference, as far as I'm concerned. There's only a handful of symbols you have to learn to read type theory stuff.

I believe you that it wasn’t intended to be insulting.

But let’s think about it.

I feel pretty confident that most people on this website are capable of learning the core 2400 Chinese characters in a year if they spent a few hours a day and that’s literally a foreign notation. A lot of people learn new languages all the time.

Kids who don’t want to learn calculus, learn calculus every day. The notation isn’t just awkward, the concepts are too. Yet they learn it.

What we’re talking about is a small notation. It’s a handful of symbols. They work predictably and consistently and the people learning it are usually familiar with the subject on some level.

It’s off-putting because it appears foreign, but the concepts and actual mechanics are already familiar with most of these readers. They just need a Rosetta Stone to help get past the initial awkwardness.

When you look at it from that perspective, it is kind of insulting use a hyperbolic word like insurmountable to a group of programmers.

Many chose not to learn it because they don’t want to be bother or don’t see the value investing their time.

Throwing words like insurmountable around seems like it breeds learned helplessness.

  • This is coming from my own experience trying to teach theoretical concepts via notation to very smart engineers. I won't argue vocabulary, but I stand by what I say: it's an insurmountable barrier for many people.

    Teaching calculus to children is a good example of why. They have a teacher to hold their hands and answer questions 40 minutes a day with mandatory homework assignments.

    If you study concepts on your own, you do not have this luxury. Its very difficult to internalize notation when you do not use it every day. The problem is not the notation itself, but the fact that no notation can be categorically searched and referenced. It cannot be typed or entered into google easily. It is rarely consistent between authors, which is free of problems if you are already fluent in the notation.

    Sometimes you can get away with "what does upside down A mean" but consider something like `\forall n \in \mathbb{N}`. Imagine if you simply had `unsigned int` (I don't want to debate the exact implication of unsigned int versus the naturals, but it should serve a point).

    When I have tried to explain relatively simple notational structures to working engineers, the universal feedback is along the lines of "I wish there was a good reference for notation because I can't understand this or keep up with it."

    Pseudo code, or something akin to it, may be more ambiguous but is much easier to grok and document.

    As an aside: something that constantly irks me is the celebration of terseness and convenience. This plagues many texts and robs novices and experts alike from understanding. Notation that is terse to the point of resembling arcane incantations is a problem, and it bothers me that academic publications in the applied sciences don't recognize it as one.

    • I absolutely agree with this. My background isn't at all mathematical, but I've ended up working with machine learning. As part of that, I naturally want to understand what I'm doing, so I try to read the papers/textbooks/etc.

      The problem I run into, again and again, is that all the notation is presented as already understood, even in introductory texts. It's not explained, and it's not clear where I'm supposed to go to get it explained. I can't search for it directly because it's a symbol, not a name for the symbol, and if I do manage to find the name, I'm left to wade through all the different contexts in which it might be used to mean something to find out which it is.

      It's not an insurmountable barrier because I'm incapable of learning. It's an insurmountable barrier because I can't find a reference to learn from that doesn't already assume I know all the answers.

    • I am pretty sure anyone for whom the notation in `\forall n \in \mathbb{N}` presents a barrier to learning meaningful amounts of type theory will have greater problems from lack of mathematical background.

      1 reply →