Thursday, October 15, 2009

Backslash backlash

An article in the Times of India mentioned that Tim Berners-Lee, inventor of the World-Wide Web, has apologised for the unnecessary // required at the beginning of a URL. What baffled me was that the TOI article (and apparently Berners-Lee himself) referred to the / symbol as a "backslash". Surely it's a forward slash? A backslash would be \ (and if anyone has to apologise for that one, it would be Donald Knuth, the inventor of TeX).

The report widely quoted in Indian newspapers is from Asian News International (ANI) and starts: "Sir Tim Berners-Lee, the creator of the world-wide-web, has finally accepted that he could have created the web without the two backslashes, //, that Internet users often grumbled about."

However in the London Times article about the same statement, one finds: "What is the point of the two forward slashes that sit directly infront of the “www” in every internet website address?". Nice that someone tried to get it right. This doesn't exonerate Sir Tim though, for the article continues as follows: " “Boy, now people on the radio are calling it ‘backslash backslash’,” Sir Tim told his audience, even though he knows they are, in fact, forward slashes." Oh well.


Rahul Siddharthan said...

Blame TOI. This is the original source. No backslashes mentioned there. And no, Knuth did not invent the backslash. It has been a part of the ASCII standard since the beginning. The people who put it in widespread use are Microsoft (and specifically, it seems, Paul Allen) -- certainly not Knuth! In its usage in TeX, it makes perfect sense: it is essentially never used in regular text, and therefore makes a perfect character for starting commands. Using a forward slash for commands would have been incredibly annoying (as is using the percentage symbol for comments -- unless your text editor does syntax highlighting, you are liable to inadvertently leave out large chunks of text every time you mention a percentage...)

Cheeta said...

Of course, a linguistic purist would point out that there's no such thing as a "forward slash"; the symbol / is, after all, a "slash" with no need to mention its direction.

Microsoftslashers (i.e. those who believe Microsoft is not just big but also bad) propound that having blundered by misusing the / and therefore being forced to use the \ in its place as a path separator, Microsoft encouraged the use of the term "forward slash" - to get across that there were two perhaps equally valid versions of a slash and their contrary-leaning version was just as valid as the other. They also encouraged the (supposedly entirely false) notion that "backslashes" lean the other way because they point to 'external data' e.g. directories, with the "forward slashes" leaning forward to show what follows is "internal" e.g. options. The real reason, of course, is that whoever wrote DOS just decided to have it that way, probably just to be contrary - i.e., different from UNIX. Nowadays the Windows API will in fact now accept either a / or a \ in paths.

Microsoftbashers (the ones more extreme than those Microsoftslashers) darkly mutter about Microsoft's propagandists claiming that their favoured \ was in fact the 'correct' "slash", and the contrary-leaning / was a heretical "backslash". This of course would account for the ToI's usage. . .

joeho said...

@Cheeta: "whoever wrote DOS just decided to have it that way, probably just to be contrary"

The first version of MS-DOS did not support directories, so no path separator was required. The slash character was used, though, to separate command line arguments. Because the slash was already in use when directory support was added to DOS, another character had to be chosen for the path separator.