
Why Does Windows Really Use Backslash as Path Separator? - Narishma
http://www.os2museum.com/wp/why-does-windows-really-use-backslash-as-path-separator/
======
tssva
We should all just be grateful they didn't copy the file and drive conventions
from TRSDOS which was the operating system for Tandy's TRS-80 line of
computers.

Like MS-DOS file names were 8 characters with a 3 character extension however
the extension was separated not with a period but a forward slash. Also files
could have a password which was separated from the name/ext by a period. Disk
drives we're referenced by numbers, 0-7, and separated from the
name/ext.password by a colon. For example copying a file from one drive to
another could look like "copy ascii/txt.foofum:0 ascii/txt.feefum:1". If you
wanted a listing of all the txt files on the current drive the command would
be "dir /txt". The file system wasn't hierarchical so there was path
separator.

~~~
13of40
Like the article says, hindsight is 20/20\. If it was 1977 and TRSDOS was the
only thing that transformed your expensive brick into something capable of
copying a file from one drive to another you might be more of a fan.

~~~
tssva
In 1977 the drive on my Tandy provided expensive brick was a tape drive but in
1979 I built a LNW System Expansion which added a floppy controller and TRSDOS
became what transformed my expensive brick into something capable of copying a
file from one of my newly acquired drives to another.

I sometimes become nostalgic regarding my TRS-80 Model I but it never involves
TRSDOS. TRSDOS was a steaming pile. There were other operating systems
available for the TRS-80 but they added features or fixed bugs. They
maintained compatibility with TRSDOS as far as file naming went.

But my comment really wasn't a criticism of the choices made regarding naming
then but more about the scope of issues that would be faced in naming
conflicts between a hypothetical Windows based upon the TRSDOS conventions and
unix systems today. It would make the "\" vs "/" issues seem like a walk in
the park.

------
ChuckMcM
It is amusing how this sort of stuff evolves over time.

Before Microsoft was doing DOS their big product was Microsoft BASIC for the
Altair computer. No OS, just load it into memory (from paper tape or cassette
tape!) and start it up. Microsoft BASIC was written in 8080 assembler (Bill
Gates once pointed this out to me in a meeting). The assembler that was used
was called CROSS80 and it ran on both TOPS20 and TOPS10 (DEC10 operating
systems for the DEC system that Bill and Paul used at Harvard when writing
BASIC)

The TOPS-10 command line manual is here :
[https://livingcomputers.org/Discover/Online-Systems/User-
Doc...](https://livingcomputers.org/Discover/Online-Systems/User-
Documentation/Tops-10-v7-04/2_Operating_System_Commands_Manual.aspx) and you
will see that on page ix in the conventions used, TOPS 10 introduced command
options (switches) with the forward slash character (/switch)

The use of / for "options" was a standard part of DCL (the DEC Command
Language) here is the document for RT-11 (ftp://bitsavers.informatik.uni-
stuttgart.de/pdf/dec/pdp11/rt11/v5.6_Aug91/AA-
PDU0A-TC_RT-11_Commands_Manual_Aug91.pdf)

Microsoft was copying DEC because at the time DEC was the most successful
MINIcomputer company and Microsoft had aspirations of being the most
successful MICROcomputer company.

As a result command options (or switches) were preceded by '/' and that gave
the parser heartburn if you used forward slash for the path. If you read the
RT-11 manual you will see that the COPY command took an option /BOOT to copy
to the boot directory, and it was written COPY/BOOT not COPY<space>/BOOT. If a
directory was involved it would be FOO/COPY/BOOT and how would you be able to
parse that? Bell Labs (also DEC users at the time) switched to using '-' for
UNIX to indicate a switch or option because it wasn't a path character.

At the end of the day the desire to be like DEC was what gave us both devices
with colon's on the end (LPT: anyone?) and logging into the "active"
directory. And DEC used slash for options in their DCL so that is what
Microsoft used.

~~~
1wd
Microsoft's "BASIC-80 (MBASIC) Reference Manual Appendix D BASIC-80 with the
CP/M Operating System"
[https://archive.org/details/BASIC-80_MBASIC_Reference_Manual...](https://archive.org/details/BASIC-80_MBASIC_Reference_Manual/page/n135)
shows it used "/" for options.

The "Microsoft BASIC Compiler, Version 5.3 July, 1981" manual
[https://archive.org/stream/BASIC_Compiler_v5.3_1981_Microsof...](https://archive.org/stream/BASIC_Compiler_v5.3_1981_Microsoft/BASIC_Compiler_v5.3_1981_Microsoft_djvu.txt)
says: "The compiler operates under the CP/M operating system" "6.3 COMPILER
SWITCHES ... must begin with a slash (/)" "MACRO-80 ASSEMBLER ... 2.2.2
Switches ... must be preceded by a slash" "4.2.1 LINK-80 Switches ... must be
preceded by a slash (/) . (With the TEKDOS operating system, switches are
preceded by hyphens . See Appendix A.)" "5.2 LIB-80 SWITCHES ... are always
preceded by a slash"

(The "TRS-80 Manual: BASIC Compiler"
[https://archive.org/stream/BASIC_Compiler_19xx_Microsoft/BAS...](https://archive.org/stream/BASIC_Compiler_19xx_Microsoft/BASIC_Compiler_19xx_Microsoft_djvu.txt)
says: "3.2.3 Command Line Switches ... Switches are always preceded by a dash
... -Z-4-T" "Filename extensions must be separated from the filename by a
slash mark (/) ... /BAS Basic source file" and does not mention CP/M.)

"Microsoft FORTRAN-80 Ver3.4 Users Manual"
[https://archive.org/details/bitsavers_microsoftc0Ver3.4Users...](https://archive.org/details/bitsavers_microsoftc0Ver3.4UsersManualNov80_12630629/page/n17)
also says switches "must be preceded by a slash" for CP/M, but for TEKDOS
(Section 4) "the switches are delimited by commas or spaces instead of
slashes"!

"Microsoft FORTRAN-80 Users Manual 1977"
[https://archive.org/details/bitsavers_microsoftc0UsersManual...](https://archive.org/details/bitsavers_microsoftc0UsersManual1977_972526/page/n5)
also already says "Each switch should be preceeded by a slash (/)". "Section 5
Operating Systems" says command lines are supported on "CPM" and "DTC
Microfile", but not on "ALTAIR DOS".

"Microsoft COBOL-80 1978"
[https://archive.org/details/bitsavers_microsoftc978_6774127/...](https://archive.org/details/bitsavers_microsoftc978_6774127/page/n135)
says: "Each switch must be preceded by a slash (/)" (1.1.2 MACRO-80 Assembler,
2.1.2 LINK-80 Linking Loader) "switches are always preceded by a slash" (3.2
LIB-80 Library Manager) "Section 4 Operating Systems" Command lines are
supported on "CPM", "DTC Microfile" and "ISIS-II", but not "Altair DOS".

~~~
ChuckMcM
Great collection of links!

What I see when reading this set of links is that _Microsoft_ really likes
slash the the option separator. And while they ran on CP/M neither the CP/M
commands[1] or the ISIS commands[2] (both operating systems that Gary Kildall
supplied from his company Digital Research.) Used the slash character for
options. And that tells me that it wasn't Gary's idea to have slash as an
option introducer.

And as mentioned previously, it was DEC's idea to use slashes for options in
DCL, which may have been inspired by IBM's Job Control Language (JCL).

[1] "CP/M Operating System Manual" \--
[http://www.cpm.z80.de/manuals/cpm22-m.pdf](http://www.cpm.z80.de/manuals/cpm22-m.pdf)

[2] "ISIS-II User's Guide" \-- [http://bitsavers.trailing-
edge.com/pdf/intel/ISIS_II/9800306...](http://bitsavers.trailing-
edge.com/pdf/intel/ISIS_II/9800306-06_ISIS-II_Users_Guide_May81.pdf)

------
ChrisSD
It should be noted that Windows can use either forward or backward slashes
nowadays. In fact, even File Explorer allows you to use an unholy mix of the
two.

~~~
psyklic
Interestingly, "unholy mixes" of slashes only always work properly in _old_
Windows paths! I found this out when debugging an open source project where
'/file.txt' (hardcoded as a forward slash) was appended to a "\\\?\" path.

Microsoft introduced "extended paths" to accommodate Unicode and paths longer
than 260 characters (i.e. "C:\<256-char string>"). These can be prefixed by
"\\\?\", which sadly does not support slash mixes. Rust's standard library
`canonicalize` function, for example, returns "\\\?\" paths!

(* EDIT: I originally wrote some historical inaccuracies, see ynik's reply
below for the corrections. Thank you ynik!)

From the docs: "File I/O functions in the Windows API convert "/" to "\" as
part of converting the name to an NT-style name, except when using the "\\\?\"
prefix." \- [https://docs.microsoft.com/en-
us/windows/desktop/FileIO/nami...](https://docs.microsoft.com/en-
us/windows/desktop/FileIO/naming-a-file#maximum-path-length-limitation)

~~~
ynik
The "\\\?\" extended-length paths have existed for a long time; I think since
Windows 2000 at least. The Windows kernel and NTFS have always supported paths
up to 32k characters; only the Win32 path normalization logic was limited to
MAX_PATH. The "\\\?\" prefix skips the normalization logic, thus allowing apps
to use the full path length.

The Windows 10 change in 2016 is something different: if an application opts
in (via manifest) AND the LongPathsEnabled registry key is set, long paths
will be supported by some (not all) Windows API functions even without the
"\\\?\" prefix. These new long paths support a mixture of slashes just fine.

~~~
Dylan16807
To be extra pedantic, it's 32k code units, so some characters take up two.

~~~
moron4hire
Pretty sure all of Microsoft's own stuff is using UTF-16, so all characters
take two bytes, regardless.

~~~
connicpu
Only characters from the Basic Multilingual Plane. If you put an emoji in a
path, for example (allowed), it will be 4 bytes.

~~~
ynik
Except if it's a compound emoji, which takes multiple codepoints -> more than
4 bytes. So really the takeaway is that "character" is highly ambiguous
nowadays and shouldn't be used anymore, use one of these instead: * UTF-n code
unit * Unicode code point * Grapheme Cluster * Extended Grapheme Cluster For
the latter one also needs to specify the version of Unicode they're talking
about, since every new compound emojis changes the definition of "Extended
Grapheme Cluster".

------
AnIdiotOnTheNet
Interesting path component separator trivia:

Classic Macs actually had one despite not having a command line interface, it
was ':', with '::' meaning "parent directory" and ":::" meaning "grandparent
directory". RISC OS used '.' as a separator, with '@' meaning "current", '^'
"parent", and '&' "home"; I can hear the "everything should be POSIX" crowd
screaming in agony. RISC OS could also address drives by letter or name.

~~~
saagarjha
And for this reason you still can't name your file ":" in Finder today.

~~~
ComputerGuru
$PATH breaks under most implementations even under Linux or BSD with that. It
shouldn't; though.

~~~
kurtisc
Fish shell gets around this by using a list for it

~~~
ComputerGuru
Yessir. (fish core dev here ;)

------
StevePerkins
Honestly, it actually DOES make sense to use separate characters for
directory-delineation versus option switches.

There was no way of knowing in 1982 that UNIX was going to take over the
world. That everything from corporate mainframes, to desktop PC's, and even
_phones_ would rally around the conventions of this largely academic OS.

~~~
enneff
Unix wasn’t academic. It was pragmatic from the start. A first-hand account:
[https://youtu.be/EY6q5dv_B-o](https://youtu.be/EY6q5dv_B-o)

~~~
kazinator
Also, Bell Labs wasn't a university, and Thompson and Ritchie were not tenured
lecturers. They wrote assembly code, not papers.

~~~
kragen
They wrote papers too (Bell Labs was, after all, a research lab), took
sabbaticals, and lectured at universities. I think one of the group
(Kernighan?) took a sabbatical at Berkeley that was one of the events that
gave rise to BSD?

------
daemonhunter
Why the "Checking your browser" part? Seriously, its a wordpress blog.

~~~
ComputerGuru
It's because CloudFlare gates access to half the internet and get to decide
whether you're considered a good actor deserving of access to a website
(someday, they hope, the internet) or not.

~~~
JensRex
Aparently I'm a bad actor, because the "checking" page never redirects to
anything. Guess the author doesn't want people to read his site. I'll comply.

------
kragen
This is almost correct, but MS-DOS derives from the DEC small systems line
(the PDP-8 and PDP-11), not the large systems line that ran TENEX, which took
the name "TOPS-10" in the DEC Witness Protection Program (the PDP-6 and
PDP-10). TENEX's only real descendant in modern computing systems is the
command-line editing (and filename completion?) in bash and zsh.

Much to my surprise, it seems to be true that CP/M did not actually use / for
flags, even in PIP, although other incarnations of PIP (like that in Heath's
HDOS) did use /. The CP/M 2.2 manual is at
[http://www.cpm.z80.de/manuals/cpm22-m.pdf](http://www.cpm.z80.de/manuals/cpm22-m.pdf)
and documents the command lines of all the standard utilities, including the
assembler, PIP, and the text editor. (It also, in passing, documents the full
8080 instruction set and OS API.)

TENEX was born in 1969 but grew up in the 1970s, but the use of / for switches
in DEC-land predates it;
[https://en.wikipedia.org/wiki/Concise_Command_Language](https://en.wikipedia.org/wiki/Concise_Command_Language)
is somewhat confused, but it currently describes how the PDP-6 monitor program
used / for switches in, presumably, 1964.

DEC operating systems like the ones CP/M aped used / liberally for switches,
and third-party programs we used on CP/M certainly did use / for switches.
This was not limited to the PDP-10 large systems operating systems; it was
also true on OS/8 for the PDP-8, as described in
[https://www.pdp8.net/os/os8/index.shtml](https://www.pdp8.net/os/os8/index.shtml)
(though, as you can see, some commands used - instead, like the later Unix).
The PDP-8 shipped in 1965, but OS/8 might be more recent than that.

~~~
johncowan
You've conflated TOPS-10 and TOPS-20. TENEX was developed externally by BBN,
took advantage of BBN-built add-on paging hardware, and was quite different in
both look and feel and its internals from TOPS-10, which had originated on the
PDP-6 and was simply called "Monitor" at first. The name TEN-EX referred to
its ability to run TOPS-10 executables in compatibility mode, as BSD variants
could once run Linux executables. When TENEX was brought in-house by DEC, it
was renamed "TOPS-20", since the Monitor had already been renamed "TOPS-10".
The only difference between the PDP-10 (or DECsystem-10) and the DECsystem-20
computers was the color scheme and the OS supplied with it.

~~~
kragen
Thank you!

------
suff
[https://blogs.msdn.microsoft.com/larryosterman/2005/06/24/wh...](https://blogs.msdn.microsoft.com/larryosterman/2005/06/24/why-
is-the-dos-path-character)

~~~
th0ma5
Heh, I guess it is still also seen as an escape because the title of this blog
just has double quotes with no backslash.

------
anyfoo
Wow, this is a great revelation, and I feel like the lede is almost buried
here, namely that DOS seems to have been influenced by TOPS-10 to such a great
amount. I wonder how many other DOSisms were in reality TOPS-10isms that had
been replicated.

~~~
kragen
No, the author is wrong about that.

------
lousken
...and ofc cloudflare gets in the way and forces you to turn on js

------
p4bl0
So this is very interesting, but doesn't go into the next obvious question:
why did TOPS-10 use forward slashes as command switch?

~~~
eschaton
That was a general DEC-ism, not just a TOPS-10 thing.

~~~
neurotrace
So let's follow it to the end. Who first started using slashes that way and
why?

~~~
kragen
You probably want to read
[https://news.ycombinator.com/item?id=20007305](https://news.ycombinator.com/item?id=20007305)
and
[https://news.ycombinator.com/item?id=20007259](https://news.ycombinator.com/item?id=20007259).

------
bitwize
Because DOS used the slash as a switch specifier, aping popular DEC operating
systems of its day, but did NOT adopt DEC's approach to specifying paths and
subdirectories, opting for a more Unix-like approach in DOS 2.0.

And Windows inherited a lot of DOS baggage.

~~~
seanmcdirmid
CP/M had nothing to do with DEC, and digital research had nothing to do with
DEC either. What was the DEC connection? Did VMS use backslash for paths?

~~~
kragen
Intergalactic Digital Research's CP/M was a very close copy of DEC RT-11,
though not quite as close a copy as MS-DOS was of CP/M, so CP/M had a great
deal to do with DEC.

VMS, which came later and is therefore irrelevant, used . to separate
directory names in paths.

------
ape4
Now Windows is embracing Linux with WSL and of course URLs use forward
slashes. It would be so great if they switched to forward slashes.

~~~
optymizer
afaik Windows has supported forward slashes for a very long time (I want to
say at least since WIN 2K).

Discussion here: [https://bytes.com/topic/python/answers/23123-when-did-
window...](https://bytes.com/topic/python/answers/23123-when-did-windows-
start-accepting-forward-slash-path-separator)

~~~
kragen
Since MS-DOS 2.0, when MS-DOS added a hierarchical filesystem.

------
goldcd
We killed it -
[https://web.archive.org/web/20190524202002/http://www.os2mus...](https://web.archive.org/web/20190524202002/http://www.os2museum.com/wp/why-
does-windows-really-use-backslash-as-path-separator/)

~~~
goldcd
Not usually one to plug stuff - but the Wayback Machine browser extension is
very useful for "This is down, would you like to see a snapshot" (or "This is
up now for now, would you like it snap-shotted"... or my favourite "I can't
believe they put this up, let me ensure this is preserved for evidence if
somebody decides to re-write history")

~~~
liability
I use it, but I've been considering uninstalling it due to frequent false
positives where I get redirected to the archive when the original is not
actually down.

------
Lowkeyloki
It's hard to imagine a time before hierarchical file systems.

~~~
jandrese
It's from a time when the media was so small there was no need to categorize
anything because the entire directory listing fit on a single screen in most
cases.

Stuff ended up being characterized by what disk it was on (floppy labeled
"homework" vs. "games") rather than where it was in a filesystem. Directories
were only necessary once Hard Drives appeared and you could centralize your
storage.

~~~
saalweachter
And now we're kind of coming out the other side, where storage is so large and
can contain so many items that organizing it all into a hierarchical structure
is a full time job in itself.

MP3s can mostly sort themselves, but your _pictures_ ... and then you have the
N-layer-deep "old computer" directories, where you copied all the files from
your last computer to your new computer.

~~~
jandrese
These days every desktop environment integrates an increasingly featureful
fast search feature front and center because they know you aren't going to be
able to keep up.

------
teh_klev
I might actually upset some folks by saying....who cares, it's just a
character?

I've worked with many OS's that didn't even have a directory structure, and
those that did were only one level deep. And there wasn't a lot of "slashing"
going on....DG RDOS for example. Some other OS's had colons (perhaps VMS - I
can't remember now.

We're talking about a time back in the depths of history where OS's had their
own specific quirks. To assume that folks bumping into computing way-back-when
encountered Unix regularly and "used slashes" is based on a deeply flawed
presumption. Back in the early 80's (and into the early 90's) cheap computing
was to be had by the use of CP/M and MSDOS, not Unix because it was too bloody
expensive for non-academic use. I used to look after a bunch of SCO 86 boxes
in my time (pre-Linus), for the customer these licenses were not cheap
compared to say MP/M.

My first encounter with Unix and the "forward slash" was in fact in 1986,
running on a NCR Tower box (and that's some minor exotica I could go on
about...) and to me it was just another thing to remember.

So glorifying Unix over its choice of "/" as a directory separator. Really,
who cares?

I enjoy Unix and Linux, but this hagiography over its greatness ("/")
seriously makes me wonder about how folks choose an OS these days to get work
done.

~~~
TheRealPomax
...did you even read the article? Nowhere does it claim greatness of one over
the other, it's simply an interesting piece about a bit of computing history
that plenty of people love to learn, because we LOVE trivia.

~~~
teh_klev
> did you even read the article?

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

 _Please don 't comment on whether someone read an article. "Did you even read
the article? It mentions that" can be shortened to "The article mentions
that."_

------
phaedrix
Can't seem to find it now, but I recall reading somewhere that Paul Allen said
it was the worst decision he made in the early days.

------
makecheck
Done to avoid errors, then we proceed to put the "\" key directly above
Return/Enter and incur errors for decades to come. :)

Early in my career I did this from the command prompt while typing a recursive
remove command and basically auto-torched a much higher directory tree thanks
to my backslash-equals-return typo.

~~~
Narishma
And that's only if you're lucky to use a qwerty keyboard layout. On other
layouts, the backslash requires a combination of keys to produce.

------
stesch
Remember that one time Linus (Linus Tech Tips) criticized the Apple Mac
because it uses slashes as path separator?

~~~
jandrese
Oldschool Macs used colon ':' as the separator. It was not ideal for
commandline use because you need to hold shift to type a colon, but in the
strictly mouse oriented world of old Finder it wasn't an issue for end users.

~~~
Sharlin
Heh, in the Finnish layout ':' is actually the easiest of the three to type.
Still requires shift but at least you don't have to reach or use both hands.
The layout (like most European ones I guess) is pretty horrible for technical
work of any sort, there's so much reaching to the number row while holding
shift or AltGr...

------
EamonnMR
People constantly use 'backslash' when reading URLs out loud for no reason!
It's just a slash!

~~~
ben509
My guess is they're using the technical sounding word when they're reading a
techy URL thing.

Out of curiosity, if we're describing the two characters, which would
logically be "down slash" and "up slash"?

~~~
DanBC
For languages that read left to right:

Downslash \

Upslash /

~~~
ben509
Oh, good, that was my intution as well.

------
devit
... and why did TOPS-10 start using / as the option separator?

~~~
userbinator
Ultimately it's essentially an arbitrary choice, but the reasonable set of
characters would exclude letters and numbers (too widely used for filenames
already), be already available in the character sets of the time, and not too
awkward to type nor look at. That means it'll be one of the special and non-
paired (like parentheses) characters, and beyond that any single one would do.
Beyond that, any one is as good as the others.

We could've just as easily ended up in a world where options are introduced
with \ and path separators are commas, or any number of other combinations.
It's a little funny to think that the TOPS-10 developers probably spent less
than a day in total deciding on the character, far less than the time spent by
everyone else since then thinking about why they did it that way.

~~~
TheOtherHobbes
I doubt it was a day. I'd be surprised if it was more than a minute or two.

TOPS-10 subdirectory separators were commas, but the path was enclosed in []
so it was always clear which part was a path and which part was something
else.

UNIX and DOS/Windows made a big mistake by removing the enclosing characters,
and TOPS-10 was a 6.3 file system that never used them to their full extent.

The (back) slashes and switches weren't the biggest problem. Spaces in file
paths were - and sometimes still are - hard to deal with.

A standard pair of enclosing characters would have eliminated a lot of
unnecessary and unreliable escape character logic, and would also have allowed
almost all other characters to be used without problems.

~~~
GordonS
> A standard pair of enclosing characters would have eliminated a lot of
> unnecessary and unreliable escape character logic

Windows allows you to enclose paths in double quotes, which deals with the
space problem.

Off the top of my head, I don't recall if Linux has the same behaviour?

------
elchupanebre
I used to work on PDP-11 under RSX-11M and it used forward slashes as option
separators. For example the equivalent of ls:

pip /li

------
chungleong
And who decided it makes sense to list the parent's name first?

~~~
kazinator
Thompson and Ritchie, who carried it over from Multics to Unix. They worked on
Multics, and that OS introduced the hierarchical filesystem.

DOS just copied Unix, right down to the | piping, and < > redirection, and .
and .. directory links which are fake.

Navigation of a path requires that the parents be traversed before children.
For instance resolving /usr/bin/ls means we locate the root directory node,
then navigate through usr and bin, finally resolving to ls. The components are
written in order of traversal, and that order is left to right because English
is written left to right. When /usr/bin/ls is passed to the kernel, it's in a
character string which is referenced by a pointer to its beginning: it's
pointing at the / in /usr. It is natural to process it in that order: visiting
the characters in / u s r / b ... order just requires incrementing the pointer
byte by byte from the starting value.

There are other reasons to have the most major part near the beginning. A
telephone number's country code and area code details coming first allows the
network to begin make appropriate switching decisions before the dialing is
complete.

Imagine you had to dial someone's "extension 42" before the company phone
number. That extension would have to be stored somewhere, until the company's
PBX picks up the call, because that extension only makes sense in the context
of that switch.

Also, if we collect the absolute path of every object in the file system, and
then sort it lexicographically, the parent to child order means that things in
the same directories end up nicely listed together.

~~~
chungleong
The computer can easily traverse in either direction. I don't know see any
technical reason to list identifiers in that order. No linguistic reason
either. We don't do that for addresses in the real world. We don't say "United
Kingdom, London, Westminster, Downing Street 10."

Imagine if Internet domain names are arranged as file paths. To reach the BBC
web site, I'd have to type in "uk.co.bb" before the computer can auto-
complete. As it is, all have to do is type the letter B.

~~~
ken
But we do say "May 24th at 18:50".

I could technically say "10 to 7 in the evening on the 24th day of May" but
everyone would look at me like I'm nuts.

~~~
dingaling
> on the 24th day of May

Most European countries follow that order of precedence. Intriguingly so did
technical reports for the US DoD, dropping the ordinal suffix for clarity even
when spoken: 24 May.

And then ISO says 2019-05-24 18:50

------
sabujp
we use forward slashes just fine. It's great when you're doing code in python,
java, etc and in a cygwin/cmd/powershell environment

------
jiveturkey
better question: why does my Ford navigation use backslash as the alternate
street name separator? _unbelievably_ irksome to me.

~~~
firethief
Because Windows has made \ so common that many normies now consider it _the
forward slash_. In the encounters with them I fail to evade, I often hear them
referring to the slashes in URLs as "backslash". _Shudder_.

~~~
octorian
I thought normies considered \ to be the "computer slash". (Which basically
explains all the verbal misuse)

------
drfuchs
I always thought it was so that file names could have dates in them:
BUDGET_09/12/1982.XSL

~~~
gothroach
I don't recall a time when you could use / in Windows file or directory names.

~~~
jolmg
So Windows forbids other characters in names besides the directory separator?

EDIT: Apparently:

[https://stackoverflow.com/questions/1976007/what-
characters-...](https://stackoverflow.com/questions/1976007/what-characters-
are-forbidden-in-windows-and-linux-directory-names#31976060)

~~~
jonhohle
IIRC, different APIs in Windows handle special characters for filenames
differently.

This was probably around the Windows 98 timeframe, but I remember several
instances when extracting zips (probably WAREZ) where the file that was
written contained characters that Explorer couldn't handle correctly. It
wouldn't allow moving those files to the Recycling Bin, but would typically
allow renaming the portion before the extension. I had a collection of
`zzzz.???` files for a long time.

------
u801e
It would be nice if they would allow one to view the text instead of showing:

    
    
      Please turn JavaScript on and reload the page.

~~~
dangus
It would also be nice if we didn't have to read complaints about being unable
to view websites from users that disable browser features that they clearly
understand will break a lot of websites.

~~~
codedokode
No, you should not intentionally hide text from those who prefer to disable
JS. Disabling JS improves site load speed and reduces memory consumption. As a
side effect, most of ads and trackers also stop working.

~~~
celticninja
My organisation has a requirement that we build to work without JS. If we need
to use JS for something then we also need a non-JS alternative, the result may
be less pretty/fast/require an extra call but it works regardless of your JS
choices

------
simonsays2
Iirc Aaron Reynolds said it was done simply to be distinct. A way to reduce
the chance of lawsuit.

------
mixmastamyk
Because "/" was already used as the command switch character in DOS 1.X which
didn't yet have folders ((boggle)).

Source traced back to DEC TOPS-10, which MS founders were exposed to. Then a
conservative manager (piece blames IBM) chose backwards compatibility over
consistency with Unix, thereby dooming billions of regular folks to need an
explanation what a backslash is compared to a slash.

~~~
PhasmaFelis
I know we all love bagging on Microsoft, but insisting on backwards
compatibility with the system you're directly replacing is not an unreasonable
decision, especially since changing it could well have made DOS 1.1 scripts
silently destroy data when run in DOS 2.0.

~~~
mixmastamyk
That's what the lesson here is about, I believe. That a reasonable decision in
the short-term can be unfortunate in the long-term.

Taking lumps for a few months when the userbase was miniscule compared to what
it is today sounds more reasonable now.

