5 ms·
Files have big downsides for both users and developers, which is why they have largely been phased out other than for specialised pro use cases: 1. Many users
by mike_hearn 2y ago
Files have big downsides for both users and developers, which is why they have largely been phased out other than for specialised pro use cases:
1. Many users find recursive data structures like trees to be confusing. Recursion is the place where a lot of students fall off the train when learning programming. Trees are fundamental to file systems and explorers, but they aren't intuitive to a lot of people. That's why every app now starts with a screen that highlights recent documents and search.
2. Developers hate files because files suck. They're just flat arrays of bytes. You have to define file formats and that is really hard work many programmers have never done. Databases are where it's at but RDBMS tech never standardised file formats, hence the appeal of SQLite's "use an rdbms as your file format" elevator pitch. Apple/NeXT tried to partly fix this with the concept of bundles, but our industry never standardised a way to transmit directories that works better than PKZIP so bundles hardly work and Apple had to give up on them in most cases. None of the protocols we use understand how to move directories around.
- engcoach 2y agoIf recursion is confusing to people then files are a great weeding out function for folks studying computer science. We have too many clueless people in the industry, why add more? Bundles are just folders with a bunch of files in them. How does that invalidate the concept of files?
- mike_hearn 2y agoWe're talking about why smartphones and tablets are designed without emphasizing files, and why students start CS courses without knowing what filesystems are. That's the reason. By all means, weed out everyone who isn't already self taught in desktop computing skills, that's a different discussion. Bundles are an attempt to simplify file format development, or can be seen that way, but it failed exactly because they are folders not files, and therefore aren't really usable because they can't be easily transmitted. You can't drag a bundle onto an email, or upload it to a file sharing platform, or send it via Bluetooth. Apple used to use bundles for iLife word processor documents, spreadsheets etc. They had to give up because it caused too many problems. Nowadays they use ZIPs like everyone else.