Tonight, Suzanne Moore asked on Twitter what “&” means. Any technological readers of this “blog” (and I use the term quite wrongly) will already know, but if you don’t, here’s a short explanation…
Web browsers display their pages using a language called HyperText Markup Language. That’s a lot to say each time, so everyone I know that uses it day-to-day calls it “HTML”.
When it was developed, back in the early 90s by Sir Tim Berners-Lee, there was a major issue – different computers use different character sets. What happens to be a pound sign on one computer is a hash symbol on another.
Luckily, people had already been working on this problem for a while with email, and had worked out what is called the “invariant” character set (meaning it’s always the same on almost every computer). So the idea was the pick one of those to indicate what character you’re using.
Guess what? The ampersand got that job.
So you could represent a pound symbol as £ and the browser would say “aha, they need a quote here, but because that’s not guaranteed to work properly, they used the version with an ampersand at the beginning, so I better change that to a pound”. (Of course, being a machine, it wouldn’t actually say anything, that’s just a metaphor, you understand)
So then that creates another problem – how do you represent the ampersand itself?
Easy – add another sequence in- “&” (they’re called “elements” in HTML terminology, should that ever come up in a pub quiz).
So why does “&” keep appearing on Twitter?
Well, not every program works correctly all the time. (If you’ve ever used Windows, an iPad, iPhone, or Android phone for any length of time, you probably already know this).
Sometimes the semicolon at the end gets missed off. At that point, your browser (or whatever software you’re using to talk to Twitter) doesn’t know whether the person actually meant “I want an ampersand here” or “I want an ampersand followed by the word amp, I was just too lazy to put the ‘amp;’ in there”. So the people that write these things decided that if they saw an ampersand without seeing something they recognise as an “element” after it, they’d just put the ampersand out there.
Which is fairly safe until some programs forget to put the “;” on the end.
And that’s why “&” keeps appearing…