this post was submitted on 09 Aug 2023
71 points (93.8% liked)

Asklemmy

43280 readers
1048 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy πŸ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
 

Edit: Thank you guys for your insightful answers!

top 39 comments
sorted by: hot top controversial new old
[–] jsveiga@sh.itjust.works 46 points 1 year ago (1 children)

Spaces are not the end of the world, but very annoying:

On a bash command line, they make it harder to handle a list of files returned by a command as argument to another.

On the command line (lin or win), they require escaping or quoting when used as arguments or script/executable names.

On many programs, if you cut&paste the complete path to the file (for example in a network drive), you can click on the path and it will access the file, but spaces in filenames or directories breaks that (and it's not bad programming, the program simply can't guess where the link ends).

When you mention the name of the file in a documentation or message, it may lead to misintepretation, and it's just fugly:

"You can find more information in the attached document file.pdf".

What is the name of the file? it can be "the attached document file.pdf", "attached document file.pdf", "document file.pdf" or "file.pdf".

Also when mentioned in a text, the file name may end up split in separated lines or even pages, and will more likely be subject to autocorrect.

When copying the file name in a text, in most environments you can double-click to select the whole name, but it doesn't work if it has spaces.

Now, if you never ever type or copy/paste a file name, and only ever access files through a graphical interface, then it makes no difference.

But then you start getting to comfy and if anything goes, why not non-ascii chars too? And that opens a different can of troubles.

[–] Nioxic@lemmy.world 2 points 1 year ago

Browsers also dont like them!

[–] dandroid@dandroid.app 43 points 1 year ago

I use command line a lot. I hate needing to add backslashes before spaces or put quotes around file names. It's easier to just use underscores.

[–] rcmaehl@lemmy.world 35 points 1 year ago

Instead of spaces? Not necessarily but it helps prevent edge cases

[–] YoungPrinceAmmon@lemmy.world 32 points 1 year ago (1 children)

I know it isn't, but I'm afraid not to

[–] Wootz@lemmy.world 23 points 1 year ago (1 children)

I know I don't have to but it feels dirty

[–] d3Xt3r@lemmy.nz 5 points 1 year ago (1 children)

I still try and stick to the 8.3 convention as far as possible. I don't like LFNs.

[–] AlternateRoute@lemmy.ca 2 points 1 year ago

8.3 is horrible in almost any moderately complex system. We have one at work and you basically need a index / translation document to figure out what the files or scripts do. The Database tables have similar short name limits.

You eventually memorize the ones you use often but it creates a huge new / external parties to understand the system.

[–] Jakylla@sh.itjust.works 22 points 1 year ago* (last edited 1 year ago) (1 children)

Also, hasn't been said yet, but when a file name with a space is uploaded to the net, the url will replace spaces with "%20" (for technical reasons), making the URL looking bad

(but still not mandatory to replace spaces by underscodes)

Example: http://example.com/the%20file%2042.png vs http://example.com/the_file_42.png

[–] nueonetwo@lemmy.ca 2 points 1 year ago

Ohhhhhhhhhhh, neat.

[–] davefischer@beehaw.org 19 points 1 year ago

If you spend a lot of time at the command line, then spaces in filenames are REALLY annoying. If you don't, it doesn't matter.

[–] helpimnotdrowning@lemmy.sdf.org 18 points 1 year ago (2 children)

TLDR; No

It hasn't been necessary in a long time, unless you're a developer who frequently needs to type in filenames in everywhere (since the command line needs extra protection against spaces and other symbols)

The OS (Windows, Mac, Android, etc) handles thar all for you so you don't have to worry about it (unless you happen to use a badly-written program that doesn't understand spaces, but this is super rare to begin with, and more protected against as time goes on)

[–] jsveiga@sh.itjust.works 6 points 1 year ago

Even non-developers may hate spaces in filenames, when links to the file you send in a message don't work because clicking on them uses only up to before the first space.

[–] Can_Utility@beehaw.org 1 points 1 year ago

I maintain a number of Drupal websites as part of my job. Our stakeholders have varying degrees of familiarity with the ins and outs of computing.

A few months ago I got a ticket from one of our stakeholders. Apparently PDF files were broken across large swathes of their site. What happened was Red Hat pushed through an update to apache that closed some security loopholes. As an unexpected side effect, it also meant that any files being served from Drupal's private file system would break if the files contained spaces in the names. No rewrite rules seemed to fix the issue; we ended up having to go into the rendered HTML and replace all the spaces in the links with '+' signs. They are now told to make sure future files have underscores instead of spaces in the filename.

So yes, in some cases you still need to use _ (or some sort of non-space character) in file names, even today.

[–] CetaceanNeeded@lemmus.org 17 points 1 year ago (2 children)

WelcomeToCamelCaseMyFriend.png

[–] Michal@discuss.tchncs.de 9 points 1 year ago (2 children)

But then you have to press shift if you want to use the file in Linux terminal...

[–] jrubal1462@mander.xyz 2 points 1 year ago (1 children)

...But at least it saves you from having to use quotes or escaping out the spaces with \

[–] Michal@discuss.tchncs.de 2 points 1 year ago

I'd rather use snake_case for file names in Linux that way you don't have to press shift until the end of the first word, and byt that time you probably have enough characters for tab completion.

[–] RickyRigatoni@lemmy.ml -1 points 1 year ago

or pressing capslock before and after each uppercase, if you're one of those people

[–] stealth_cookies@lemmy.ca 13 points 1 year ago

That depends, if you have the fortune (misfortune?) of using the CAD software Creo/ ProE from PTC then spaces are verboten since they haven't progressed from the days where the software was written for UNIX.

[–] VelociCatTurd@lemmy.world 10 points 1 year ago (1 children)

Just in general? No. But I may still use spaces or camel case sometimes on Linux because it makes it a little faster for me to reference a file without escaping the spaces

[–] tate@lemmy.sdf.org 2 points 1 year ago (1 children)

Camel case is the way. Why use underscore instead of space when you could just,.. not?

[–] UlrikHD@programming.dev 2 points 1 year ago

Stockholm syndrome from whatever the convention is for your daily programming language. Long live snake case 🐍

[–] darcy@sh.itjust.works 10 points 1 year ago

never use spaces. never use special characters like |$&";?*'. avoid non-ascii. case is preference, i personally use kebab-case

[–] Schnaftator@lemmy.sdfeu.org 8 points 1 year ago (1 children)

Why underscores? Dashes are easier to type!

[–] grabyourmotherskeys@lemmy.world 10 points 1 year ago (1 children)

Dashes for dates and ids. Underscores for spaces.

ISP-7_compliance_report_2023-08-09.pdf

[–] Tinister@kbin.social 7 points 1 year ago (2 children)

You mention dashes but then used hyphens. πŸ˜•

[–] knexcar@kbin.social 1 points 1 year ago (1 children)

Aren’t they the same thing?

[–] peter@feddit.uk 4 points 1 year ago* (last edited 1 year ago) (2 children)

Hyphen - dash β€” I think, it could be the other way around

TIL. Alright, then let's use minus signs!

[–] stringere@lemmy.world 0 points 1 year ago

Vaginal shied or pinch of spice, but when to use which?

You are technically correct. The best kind of correct.

[–] socsa@lemmy.ml 7 points 1 year ago

Only if you want my respect

[–] charje@lemmy.ml 5 points 1 year ago

Using - is much nicer.

[–] not_amm@beehaw.org 3 points 1 year ago

Personally, I try to keep some rules for myself while using a system. I used to use spaces for readability, but then it was kind of hard to remember all the names of my files, so i just went with a conceptual naming. I now use keywords and some classification like numbers or date before the keywords, it has helped me to find files quicker and with less words than before.

[–] Dirk@lemmy.ml 3 points 1 year ago

Windows has issues with leading spaces in certain applications, but no, you don't need to replace spaces with underscores in general nowadays.

I'd still advise against it if you're using Windows. A space is interpretered as more than a single character meaning you'll hit the 255 character limit for paths quicker if you have a large folder structure. I've seen this happen many times in my time as a support technician.

[–] skullgiver@popplesburger.hilciferous.nl 2 points 1 year ago* (last edited 1 year ago)

Depends on your operating system. Every competent piece of software written since the year 2000 can deal with spaces just fine. That includes browsers, which will translate spaces into %20.

For old Windows programs you'll need to take special care not to make the file name too long. For Windows you also need to watch out for some special characters like :?* which are banned from usage with the Windows filesystem API. Windows has some other weird rules too (like with files starting/ending with ., file names consisting only of spaces) but you probably don't need to worry about those.