Hacker News new | ask | show | jobs
by notRobot 2039 days ago
Yeah, no. Please don't do this. This has been discussed previously w.r.t commit messages, and I'd argue that the reasons for not doing so with maths are largely the same: https://news.ycombinator.com/item?id=21760021

---

They're bad for accessibility. Don't work with screen readers . Hard to make out for people without perfect vision. Harder to type out.

They don't render well on many systems. They can't be handwritten. How are they do be pronounced? "croissant emoji squared plus girl wearing hat"?

Conventions exist for what symbols to use where in science and math. Don't mess with this. Kids won't magically find math easier if you use emoji in place of symbols.

Instead, please focus your efforts of improving teaching methods.

5 comments

Also, emojis are hard to write by hand, which is an important feature to some people.

I find it very hard to internalize math without going through the derivations with pen and paper. Though I must admit that I have slowly gotten to the point of preferring to proof-read calculations for publication by typing out the intermediate steps in latex and then commenting them out.

Let the person who can write a decent \xi make the first claim that all greek letters are easy to write...
Huh, aren't \xi and \zeta just "squiggle" and "squiggle with a loop"? :P
> How are they to be pronounced? "croissant emoji squared plus girl wearing hat"?

I knew a girl named 胡伊人 Hú Yīrén, who for a long time had her wechat display name as three emoji, a tiger face, a hand holding up one finger, and a human girl's face. (The intent would have been to read these as "tiger", "one", and "person", 虎一人 hǔ yìrén.)

But emoji didn't appear in notifications, and my phone was set to English rather than Chinese, so whenever I got a message from her the notification would read "[Tiger][No. 1][Girl] ...". I started thinking of her as "tiger number one girl", a bit.

I disagree. In maths, the main competition is Greek letters. Kids today arent going to know their eta from their gamma. I find many undergrads can't remember the Greek alphabet.

Sure, girl wearing hat might be a bad choice, but I think "simple emoji like tree, fire, snowflake (for example). Do a good job of replacing Greek letters.

Another place I use emoji, is for a set of Labella which should have no order. Mathematica a often say they are naming some things 1,2,3, but please forget the integers have arthmetic and ordering. If you use fire, tree, snowflake as the names, no-one assumes an ordering, or arithmetic.

> Kids today arent going to know their eta from their gamma. I find many undergrads can't remember the Greek alphabet.

Not sure what is the problem here. Even without knowing Greek nor the Greek alphabet, its letters are sufficiently diverse and can be easily told apart.

I can understand emojis can make math more enciting for young children, but if high school+ people cannot get past foreign-looking Greek letters I doubt they would find the motivation to progress much further in understanding the concepts involved.

In undergrad lectures I constantly have students refering to "fork" or "curly n", or just misnaming different Greek letters (and, I find myself sometimes doing the same). The Greek is (to me) unnessary block to discussion.
And greek letters and emoji have the same issue of dificult type-ability, non-ASCII-ness, dificult printability and dificult displayability. Emoji only add color.

The real solution is normal multicharacter names.

I am happy for people to hate emoji, but I don't think non-ASCII-ness is a problem (lots of languages aren't in ASCII anywhere), and in general printing and displaying is easy -- it seems I can type emojis basically anywhere I can type anything else.

True, they don't display well in terminals, but I wouldn't not be willing to limit my maths to an ASCII monospaced terminal anyway, and that isn't how anyone writes or creates maths (unless they are typing LaTeX, in which case it will be nicely formatted anyway). I want super/sub scripts.

The reason I mentioned non-ASCII-ness is because top-parent mentioned them:

> Yeah, no. Please don't do this. This has been discussed previously w.r.t commit messages, and I'd argue that the reasons for not doing so with maths are largely the same: https://news.ycombinator.com/item?id=21760021

> Kids today arent going to know their eta from their gamma.

Are you saying kids will not be able to distinguish between the two symbols? I highly doubt that. They may not remember the names of the symbols, but emojis have the same problem.

Sorry, yes I mean they won't know how to say them out loud, which makes discussion hard, whereas they will know snowflake or fire.

Heck, I teach graph theory and I keep forgetting the damn names mid-lecture.

Yes. You have to memorize the mapping between the meaning and arbitrary Greek letters whereas the meaning is more obvious with emoji. But both (greek letters, emoji) are bad solutions to a very stupid problem math has. See my comment here https://news.ycombinator.com/item?id=25207527
> Kids today arent going to know their eta from their gamma.

I was inclined to agree with you, but then I remembered the zodiac sign emoji. Capricorn is basically η with a looped tail and taurus is gamma ɣ with a bigger loop. I'm pretty sure kids wouldn't be able to write them by hand (neither would I), but they have the advantage that if you type their names on a phone keyboard, you just need to recognize the symbol and tap it. Maybe all that's needed for Greek letters to compete with emoji is equal treatment by keyboards.

On the other hand, how much sense does it make to keep overloading the same finite set of ~50 symbols? And while the admonition to stick to convention is a good general rule, there are both places where there exists conflicting conventions as well as areas where no convention exist at all.

As for the criticism that emoji can't be handwritten or pronounced: show me anyone doing a proper xi, and ask the greek what they think of how foreigners pronounce their letters (or indeed how one pronounces bold face letters). Clearly these are problems that have been solved before, and so can be solved again to the same level of quality.

Further, when handwriting you really have far more freedom than when typesetting, I had a friend that taught me the useful shorthand of just drawing a sphere to indicate that the surface integral was over a sphere. I tend to name partial results things like boxes or triangles when I work out because lugging around a second or even third "a" is just not as clear. Importantly, it's also much more fun to call your partial integral "small house" than "iii".

All that being said, the example choices in the article seem like straight up bad choices: naming the sides of a triangle a specific direction seems unhelpful in the fairly common case of several triangles with opposite orientation for example.

It is kinda ironic, in that one of my favorite math papers is Polya's On Picture Writing. Which seems to imply that math with pictures should work fine.

I can't disagree with you, though. Curious what makes it fine there, but bad here.

Both have the same problem and Polya mentions it in his paper. Both are to various degrees incompatible with technology (printing press, keyboards, teletypes, text mode screens, CLI, screen readers, etc.).

The reason the printing press became so revolutionary in latin alphabet using countries even though paper, printing and movable type were invented in China, is because it is very easy to make a machine that uses it. The English alphabet is more or less a common denominator of all other latin alphabet-based languages. Any non-latin/greek/cyrillic script is very hard to adapt to the various forms of technology throughout history.

But both papers illustrate a very real problem. Mathematical notation is horribly, infuriatingly, idiotically overloaded. And, no, context is not enough to divine the meaning. There are plenty of examples where a symbol is used for multiple meanings in the same paper or the same lesson.

My opinion is that the cause of all these problems is a very brain dead decision in math to allow adjacency of symbols to signify multiplication. This results in no longer being able to use multiple character names for things (variables, constants, etc.). And this is crippling. It results in the use of modified characters as symbols, use of characters from other languages as symbols and now the proposal of use of emoji as symbols. Because why not, emoji are plentiful and are now easier to input, store and display than ever.

The same issue (diversity of names) was solved by almost all by having mandatory separator characters(space, tab, comma, semicolon, etc) that are not allowed in names. Imagine a programing language where it is impossible to tell at first glance the meaning of something like "TotalWeight". Is it one variable? Is it Total * Weight? Is it TotalW * eight? Is it Total * W * eight? Is it T * o * t * a * l * W * e * i * g * h * t? We can rewrite this last one as aeghilo(t^2)TW . This is mathematical notation. And it will not change because it is entrenched.

This argument falls by simple counter example: cos, sin, log are all multi character names that are routinely used with no significant syntax confusion without having to use explicit multiplication indicators. So longer names are routinely used despite apparent impossibility due to multiplication confusion.

No, notation is terse for other reasons. Largely driven by the very common practice of writing it by hand. If you give your new object a long name and use that very name as a symbol you'll quickly discover that others who are interested will just abbreviate it to a letter to save effort writing it.

And in programming we generally frown uppon global use single letter identifiers. There are of course exceptions (jQuery comes to mind).

That is why we have aliasing in most shell languages or the using directive in C# and C++, or try-with-resources in Java. Aliasing is there when you need it but it is only used locally.

In math it kind of is the default. Trigonomerty is the exception.

Nobody really programs by hand, so I'm not sure what that remark aims towards? The practice of maths and programming are so different I don't know where you think there is any clarity gained from direct comparison.
I think there is clarity to be gained from the history of programming. Programming went from very very hard (punch cards) to write to very easy to write (intelisense). And we also went from code being mostly written to code being mostly read.

With each step there was a move to either make best practices more verbose or terser. Verboseness has been a solution to defects. Better languages have been a solution to verboseness. For example: when typing bugs became common, hungarian notation became a best practice. The noise was an acceptable tradeoff. When better type checking became available, hungarian notation was abandoned because it produced noise. The compiler already did al the work for you. Improvements in the tools happened at the same time as improvements in the language.

All of this was motivated by growing code complexity resulting in increasing team sizes.

Math is also growing in complexity and collaboration is increasingly digital. But so far, I have only seen tool improvements, the language has mostly been stuck. If the language does not evolve tools will evolve much much slower.

Nobody programs by hand ANY MORE. Everybody did in the age of punchcards.
I'm going to be honest, there is a reason mathematicans drop multiplication (or in general, the most important operator in whatever you are working on), because it would double the size of basically everything you write.

In group and semi-groups, where there is only one operator, it would just produce "visual noise", but introducing a * between every pair of things you write down. I have done this in beginner classes, but it rapidly gets boring.

While I understand how it makes it harder to read for non-experts, when you are writing maths, and maths papers, as a job you don't want to double the size of everything and scatter *s around for no reason.

The best parallel I can think of (this isn't good, sorry) would be like attaching the type of every variable to every place you use it -- this would technically make it easier to follow a snippet of code, but create lots of visual noise.

> The best parallel I can think of (this isn't good, sorry) would be like attaching the type of every variable to every place you use it -- this would technically make it easier to follow a snippet of code, but create lots of visual noise.

At some point we did this very thing and it was the recommended way to write code. And it did indeed create a lot of noise. My understanding of how we moved on from that is that namespacing, aliasing, and in general better code structure started being used. Things are no longer global. How do you make parts of mathematical proofs non-global to the entire proof?

https://en.wikipedia.org/wiki/Hungarian_notation

Honestly, I think we could, and should, do much better.

If people generally moved on from LaTeX (which is a whole other argument, and one I've had, and lost, on several occasions) to something with more semantic content, it would be much easier to make papers where it was easy to change the style of formatting, make it clear which symbols are "the same", etc.

> which is a whole other argument, and one I've had, and lost, on several occasions

Care to link to it if it's available? I am curious to read that debate.