18

All file systems I've encountered have been based on folders - you have a root folder, which contains files and subfolders, which in turn contains files and subfolders, and so on.

Is there a better alternative to organizing files, and will it replaced the current system any time soon? Feel free to include some history about file systems, if you judge that's in order in your answer.

Interpret the term "better" any way you please.

gablin
  • 17,377
  • 22
  • 89
  • 138
  • 9
    possible duplicate of [How did we get saddled with the (hierarchical) filesystem as the basic data structure?](http://programmers.stackexchange.com/questions/58797/how-did-we-get-saddled-with-the-hierarchical-filesystem-as-the-basic-data-struc) – Péter Török Mar 17 '11 at 10:09
  • 2
    A full file path is nothing but a unique name to me and a folder is a file name with a wildcard that potentially lists files starting with that name. I don't think of a dictionary as hierarchical just indexed and sorted. Searching is great when you know what to look for. Chronological comes in handy if you know when a file was last/first used. Tags are a nice way to organize a single file in more than one way. At some point, you are stuck browsing for the file. Traversing a tree is fine in most cases. – JeffO Feb 11 '16 at 18:37
  • 3
    I miss Google Drive's label system, where there weren't folders really. Any file could be placed into multiple labels, allowing you to organize in several different ways at once. So much easier in my opinion. – RubberDuck Feb 11 '16 at 22:40
  • 1
    @RubberDuck OSX allows you to do it too, and I've always thought too myself "wow, that makes way more sense", because it's very often the case that a particular file belongs to more than one logical category. However, even though I feel that way, I don't take advantage of tags, because 1) I'm so used to organizing things in file hierarchies, and 2) applications understand file systems but not tags. – gardenhead Feb 12 '16 at 02:54

4 Answers4

10

Is there a better alternative to organizing files,

Yes.

will it replaced the current system any time soon?

No.

You can't replace the hierarchy as a way to organize concepts.

All file systems have hard links: the current file systems are not hierarchical.

People use them that way because people like that.

However, the file system is a "networked" database (not a hierarchical one). We just don't make much use of the network capabilities for one obvious reason. Anything other than a simple hierarchy is confusing.

S.Lott
  • 45,264
  • 6
  • 90
  • 154
  • Sort to say whichever underlying implementation there'll be, if nothing, we'll always use a hierarchical structure to organize our own files at least. – Filip Dupanović Mar 17 '11 at 10:40
  • 1
    hard links are forbidden to form cycles, so it's still hierarchy (not a tree though). – vartec Mar 17 '11 at 10:41
  • 11
    -1 Because you need to qualify and explain the "better" system, instead of just saying "yes" – Darknight Mar 17 '11 at 10:54
  • 1
    @Darknight: We already have a non-hierarchical graph. What we have right now is not a hierarchy. It's already better. There's not much explaining to do. The assumption underlying the question is faulty. – S.Lott Mar 17 '11 at 11:03
  • @S.Lott: it's non-hierarchical only if you count symlinks/shortcuts. Hardlinks are acyclic, so it's still a hierarchy. – vartec Mar 17 '11 at 14:46
  • 4
    I don't understand how a folder-based file system is not a hierarchical system. Could you please explain further? – gablin Mar 17 '11 at 21:47
  • 1
    A concrete example for a file system that's decidedly non-classical: `git`. While `git` undisputably creates a file system, its commits form a structure that is not hierarchical. They form a DAG in its most general form, which allows any combination of branching and merging. Most files are even referenced by a ton of different commits, up to the points where they changed in history. Also, file/tree/commit objects can never change. And it's precisely these peculiarities that make the file system that `git` creates so highly useful. – cmaster - reinstate monica Feb 11 '16 at 21:03
8

I don't think so, since there have been some attempts (e.g. WinFS), which all have been killed off. The "folder" structure is very common hierarchical structure. I can be viewed as taxonomy. I feel that it's a natural way to organize resources.

On the other hand, you can have front end views, like "recent files" or "all my music". But there is no real reason to implement that on low level, in the filesystem itself. You can have data structure for that build on top of the hierarchical filesystem.

vartec
  • 20,760
  • 1
  • 52
  • 98
7

Some experimental operating systems don't even have any files. They have some orthogonal persistence machinery. Look at some academic OS projects (Coyotos, Grasshopper, IsaacOS, etc...).

And old Lisp Machines in the 1980s might also had no file systems as we know them today.

The inactive tunes.org site had some discussions (from the previous century) about OS without files.

The issue with non-file based OSes is that they need to re-implement everything; even a C compiler needs some filesystem.... And sadly, there are few economical incentives to develop such an OS from scratch.

Notice however that our terabyte disks are a dirty mess (hierarchical file systems are not the best way to organize data in them), and it would be great if we could have something better than Unix inspired file systems (which have been copied in Windows).

Hierarchical file systems have been invented with Multics (1969); Unix copied them.

Basile Starynkevitch
  • 32,434
  • 6
  • 84
  • 125
5

I think the folder based, tree-like file system is common but it's not the best. Indeed i believe a good classification of a file is better than to place a file in a certain 'place' e. g. folder.

Files are different in content and so, a mp3-file contains different meta information compared to let's say a png-file. Shown in a list with columns a problem occurs, just columns like size, creation-date etc. are in common.

If you look at windows explorer for example, the columns change when certain file types are detected. If you habe lot's of mp3-files in a directory for example, columns like Album, Title etc. occur. If amongst these files there is a png-file, these columns/cells don't make sense for that particular file/row.

I have found out that many times it would make sense, to place a file into more than one folder, just because there are more than one classification properties that identify the file. But why should a 'place', a 'folder' classify a file?

If i have a car, it doesn't matter if it is in the garage, in a parking lot or elsewhere, it's not the 'place' that identifies my car, but it's properties.

When all my files are classified properly and accurate by meta-data, it doesn't mind where it is stored, it's just in some 'cloud'. If i need to obtain a certain file, this should be done by specifications of the meta-data.

brighty
  • 151
  • 1
  • 2