640
submitted 7 months ago* (last edited 7 months ago) by 0x4E4F@sh.itjust.works to c/linuxmemes@lemmy.world

Though the Windows thing was really funny ๐Ÿ˜‚.

you are viewing a single comment's thread
view the rest of the comments
[-] bort@sopuli.xyz 95 points 7 months ago

the linux-file-deletion is used as a example for good software design. It has a very simple interface with little room for error while doing exactly what the caller intended.

In John Ousterhout's "software design philosophy" a chapter is called "define errors out of existence". In windows "delete" is defined as "the file is gone from the HDD". So it must wait for all processes to release that file. In Linux "unlink" is defined as "the file can't be accessed anymore". So the file is gone from the filesystem immediately and existing file-handles from other processes will life on.

The trade-off here is: "more errors for the caller of delete" vs "more errors due to filehandles to dead files". And as it turns out, the former creates issues for both developers and for users, while the later creates virtually no errors in practice.

[-] lemmyvore@feddit.nl 116 points 7 months ago

doing exactly what the caller intended.

No, no. Exactly what the user told it to do. Not what they intended. There's a difference.

[-] hstde@feddit.de 36 points 7 months ago

Exactly type rm -rf / instead of rm -rf ./ and you ducked up. Well you messed up a long time ago by having privileges to delete everything, but then again, you are human, some mistakes will be made.

[-] Technofrood@feddit.uk 17 points 7 months ago

Don't modern versions of rm block calling on / unless you pass a separate flag?

[-] Ziglin@lemmy.world 4 points 7 months ago

Yup I think it's --preserve-root

load more comments (6 replies)
load more comments (9 replies)
load more comments (11 replies)
this post was submitted on 22 Mar 2024
640 points (96.0% liked)

linuxmemes

21281 readers
20 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS