5 ms·
Human beings who name things are going to use spaces. That spaces were used as delimiters for computers is somewhere between unfortunate and a colossal mistake
by reificator 9y ago
Human beings who name things are going to use spaces. That spaces were used as delimiters for computers is somewhere between unfortunate and a colossal mistake.
But to use that as evidence of why spaces should not be supported in filenames is putting the cart before the horse.
The goal of software is not to perpetuate whatever mistakes have been made in the past. It's to solve problems for human beings.
And human beings have been using spaces to delimit words since long before computers existed.
- gdwatson 9y agoOn the command line, using spaces to delimit words is also quite natural; that's why they get used as a delimiter: mv old-file new-file Spaces separate the verb, the direct object, and the indirect object. Using commas or colons instead would painfully artificial. So the question is whether you will favor naturalness on the command line or in the GUI. It's no surprise that a Unix build tool favors the command line.
- reificator 9y agoTrue, but on the command line I don't have to worry about the spaces. I'm just going to tab-complete to simultaneously ensure I'm in the context I expect to be in, ensure I'm not making any typos, and save some time to boot.
- jtolmar 9y agoWhat if your file system didn't distinguish between underscores and spaces, your GUI displayed them as spaces, and your command line displayed underscores? Then this problem goes away entirely and you instead have the problem of not being allowed to have "this_file" and "this file" in the same directory. A problem which probably doesn't matter.
- lucideer 9y agoThat hides the problem from the user, and will consequently lead to command line users typing spaces where they should be typing underscores.
- hzhou321 9y agoTo clarify our views: The words and sentences are inside the file. The filenames are identifiers to the files. Identifiers' purpose is mainly to identify, rather than to communicate. On the other hand, we could imagine a user interface that users don't see (actual) filenames at all.
- reificator 9y agoIdentification is a form of communication. The identifier assigned to me at birth contains two spaces. Most people use one of the shorthand forms, but still.
- taeric 9y agoI'm intrigued. Your first name has two spaces in it? That is, I think it is safe to say that we expect we can include spaces in the names of things. The movie is named "Star Wars", after all. That seems natural. For people, though, we have grown used to someone having multiple parts of their name separated by a space. If given out of order, a comma. Even in the "naming things" category. We are used to having to put quotes around names that have spaces. Or otherwise using a convention like Capitalized Identifiers to show something goes together. Probably isn't a clearcut rule.
- reificator 9y ago> I'm intrigued. Your first name has two spaces in it? No. But my name does. > For people, though, we have grown used to someone having multiple parts of their name separated by a space. If given out of order, a comma. https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...
- taeric 9y agoOk. Something about the way I read the first post, I thought you meant your simple name. No reason it couldn't have spaces. My wife knew of someone named 1/2. Insisted it be a single character, too. Was amusing how hard that was for most payroll systems. And I wasn't saying this isn't allowed. What we are used to is not the total of what is allowed. The fringes are full of mistakes, though. At some point, you make a statistical choice.
- gkya 9y agoNot all languages have (or had) spaces.
- reificator 9y agoI apologize if I implied that they did, because that has nothing to do with my intended message.