Linked by Nicholas Blachford on Wed 11th Aug 2004 07:53 UTC
Editorial Computers are complex systems but it's a mistake to assume they need to be complex to use. However, usability is not as easy as it may first seem. It is a different discipline from software development lacking the strict logic or having a "right way". There are only differing requirements and differing collections of guidelines. Making things easy is difficult.
Permalink for comment
To read all comments associated with this story, please click here.
case-insensitive is buggy by design
by Anonymous on Wed 11th Aug 2004 18:17 UTC

What is uppercase? What is lowercase?

Well. that would depend on your language!
George makes files Foo and FOO, since the O is
not an uppercase o in his language. Then Mary
comes along and tries to edit Foo. In doing so,
she destroys FOO. (her editor writes to a temp
file, then renames it -- this avoids having a
half-written file in case of a crash)

Now consider simply looking up these files.
You can't hash the filenames or put them in
a tree, because filename order and equality
will vary by language. All searches are linear.

BTW, many shells offer case-insensitive filename
completion. This works, because the shell only
has to serve one user at a time, and thus only
needs to handle one language at a time.

Also, spaces sure do work in filenames. They're
evil, but they work. Use quotes or the backslash.