← Back to context

Comment by herval

4 years ago

Why "blame"? What's inherently great about file systems that _must_ survive generations?

My father was a programmer in his COBOL years, and heavily user of text editors and all sorts of terminal-based systems in his job. He never "got" Windows, or graphic interfaces in general. The metaphor just didn't land.

>What's inherently great about file systems that _must_ survive generations?

Filesystems are one example which points to a lack of understanding of how computers work on a lower level. If you can't understand how things work on a lower level you can't repair or innovate on a lower level. Eventually shit breaks down and we're back to bear knives and flint skins.

I would ask -what's so great about NOT knowing about file systems?

  • File systems are an abstraction we created over disc storage. The discs don't care. They only know about sectors of, say, 4096 bits. It is not at all clear that a hierarchical structure of byte-records is the best abstraction to create over that storage.

  • File systems are not how "computers work on a lower level" - they're just a handy abstraction we (well, someone much smarter than me) introduced in the 70s. Like any abstraction, it's an imperfect and incomplete metaphor to something else.

    As an example of "how it actually works", when I had my first computer, I had to manually defrag disks all the time, otherwise they'd get screwed faster. Modern OSes eventually paved over that detail, so you don't have to know how to do that. That prevents you from repairing a fragged disk, or innovating at a lower level. And it doesn't really matter.

    • > And it doesn't really matter.

      Okay. Defragging your disk prepares you to understand the concept of heap fragmentation later on in life. Understanding heap fragmentation and how to avoid it, how to compact segments, how to allocate smartly, allows you to write MUCH MUCH faster and higher quality software.

      Today, there are a hundred thousand Zoomer developers spraying exabytes of poorly allocated objects all over the heaps of millions of production systems.

      We frequently lament the fact that our standard Office applications run slower on 16 core, 4GHz machines than they did on a 66MHz 486DX, then we proceed to claim that the towers of abstractions we've built and the complete ignorance of the underlying hardware "doesn't really matter".

      2 replies →