There's not enough symbols on my keyboard, so let's invent a code so we can write other symbols
- lets say & means start of code
- and say ; means end of code
- Between the start and end is the code
Now let's make some real symbols
- ¢ can be ¢
- © can be ©
- ÷ can be ÷
I want to tell other people how to use our new code, but if I tell them to "just write ÷" it'll turn my message into "just write ÷" !! So how can we fix this?
What if we make & its own code?
- & —> &
- ÷ —> ÷ ???
Yes! That'll work :)
This is how & came to be, and it's specifically used in HTML as a way to write those symbols above (and escape other a few other symbols for similar reasons we did with &)
As for why & shows up as &, there are 2 main places I can see this happening:
- The editor you use to write it automatically converts an & —> &. But the user typed in & (making it &). I think this is most likely. I'm guessing the title of posts automatically do the conversion, but the post body and comments do not because it uses a raw markdown editor
- In some contexts the & specifically doesn't get converted? like how you can write `&` to get
&
as opposed to seeing &