4 ms·
I'm bemused by this repeated insistence that supporting spaces in file names is somehow difficult.
by to3m 9y ago
I'm bemused by this repeated insistence that supporting spaces in file names is somehow difficult.
- JustSomeNobody 9y agoThe word was complicated, not difficult. It is not difficult to handle spaces, it is more complicated.
- to3m 9y agoThat's a worthwhile clarification - thank you. While that's certainly true in the strict sense, I remain bemused.
- scbrg 9y agoI'm bemused by this repeated insistence that supporting colon in file names is somehow difficult.
- deleted 9y ago[deleted]
- to3m 9y agoWho on earth insists that? Only Windows programmers, I expect! But it's easy: make sure they're expressible in your syntax, then pass them through as part of the file name. Just like spaces. If there's a problem, you'll get an error back from the OS.
- scbrg 9y agoYes, of course you're right. My apologies, it was a stupid comparison. Though I still feel it's a bit of "choose your poison". In any language, certain symbols will have special meaning. You pretty much have to pick which ones, and come up with rules about how to let their natural meaning bleed through. With unix shells, one such character is the space, and there's a number of rules about how to let their natural meaning bleed through - but they're all somewhat awkward, and they all need special care.
- gonvaled 9y agoAnd nulls? And quotes? And dollars? And any unicode char?
- to3m 9y agoI expect you mean NUL (ASCII 0) - but that's typically not a good choice, because POSIX decrees it invalid, along with '/'. But anything else is fair game, sure. Handling every Unicode char might be a pain, but that's the filing system's job, not yours! Most programming languages manage to get this right. You have a quoting syntax with an escape character that lets you express the quotes, the escape character, and any arbitrary character (as a byte sequence, as a Unicode codepoint in some encoding, etc.) as well. Now you can do everything. Why not do this? I'm not going to say this won't be a pain if you decide to write out every file name possible, because it will be, inevitably. But you can supply alternative syntaxes by way of more convenient (if limiting) shorthand - Python has its r"""...""" notation, for example, allowing you to express the majority of interesting strings without needing to escape anything. You might argue that I've just punted the problem on to the text editor and the filing system. You'd be quite right.
- gonvaled 9y agoDepends very much on your programming environment: on Python I don"t care, but when doing bash scripting or makefiles (very often) I very much care. I have recently decided to stop using $ in passwords (defined by me) for that same reason: of course they are valid char, but they are such a big pain to support in usual contexts that it is simply not worth it.
- gonvaled 9y agoAnd regarding slashes: are you bemused that unix does not support them in filenames? (Thanks for correcting the nul reference)
- to3m 9y agoNo, not really - I have no particular opinion about what POSIX chooses to support or not. But I'm going to go back to my original point. What I do have an opinion about is how reasonable it is for tools not to support a character that is valid in file names, when that character is straightforward to support with everyday, well known syntax. And when that character is ' ', the standard English word separator, as straightforwardly supported by approximately ever kind of quoting or escaping syntax ever, my opinion about a lack of support is: it's crap.