We need them in the sense that we have to
organize the information we have access to. And people
who are dealing with a domain (e.g. librarians, or jurists) use some kind of
taxonomy to help them organizing, accessing and
sharing information. However the Internet
shows that we can live well without a rigorous taxonomy too. The current file systems are not serving us well in the complex word of information objects. (See http://chucksblog.emc.com/chucks_blog/2009/08/the-future-doesnt-have-a-file-system.html for a good discussion of the topic.)
Technically the file system is not
really needed either. It has it origins in the time when microprocessors were much weaker, they address space minimal, while disks
had a large capacity and slow, construction dependent access. But now
we have processors with almost unlimited address space, very fast solid state
disks with linear addressing and mature network services.
What if there won't be any files or file
systems just objects with different lifetime (session and persistent).
From the programmer point of view it could be decided by
instantiation of an object if it's a session (dynamic
object in the traditional sense) or permanent (has an uri) object.
Otherwise they could be managed in the same way. This is naturally
not as simple as that, because access rights and concurrency must
also be provided. The objects were managed by a resource allocator (a
super malloc) which could be directly supported by hardware that is
the hardware could manage the allocation and retrieval of memory and
storage like Amazon
S3. Naturally there is nothing against running a file-system on
the top of the resource allocator.
Such an approach would be faster, simpler and
more flexible.