We Don’t Need No Stinkin File Formats
A discussion mentioning CAD file formats motivated me to make this entry.
A file format is a particular way to encode information for storage in a computer file.
Today information systems are used to either simulate and augment the tangible world or represent a fictional, virtual reality(see Meshverse 101). Except for modeling tangible documents and existing information systems, the document-oriented notions of files and folders aren’t needed in today’s simulation-oriented information systems. File systems are a brittle artifact of the misguided evolution of today’s hardware and operating systems which are innovation bottlenecks
The software that best serves human interests needs to change rapidly. From individuals to Google, new code shows up on the Internet daily, but the pace of innovation is throttled by the slower changes in operating systems which in turn are constrained by horribly inflexible hardware designed independently of the software.
Entities(including what we traditionally call programs) represented in simulations just need to persist reliably in a format suitable for the simulation. Ideally, in the future, some type of RAM/holographic memory combo will transparently backup exact copies of the bits representing entities in the simulation using a single binary encoding similar to/derived from today’s FUNK. Until then everyone from large corporations to individuals will continue to increasingly use databases and non-traditional file and other storage systems that better map to the entities being represented. This information is being encoded in a small number of formats such as JSON and XML(which btw, the upcoming new release of FUNK will support). Slowly but surely the industry is returning from the mistaken journey down the road to Babylon. As with nature, a small number of self-similar, recursive approaches are much more powerful than a multitude of over-specialized ones.
Bob Barton, the main designer of the B5000 and a professor at Utah had said in one of his talks a few days earlier: “The basic principal of recursive design is to make the parts have the same power as the whole.” For the first time I thought of the whole as the entire computer and wondered why anyone would want to divide it up into weaker things called data structures and procedures. Why not divide it up into little computers, as time sharing was starting to? But not in dozens. Why not thousands of them, each simulating a useful structure? I recalled the monads of Leibniz, the “dividing nature at its joints” discourse of Plato, and other attempts to parse complexity.
Let me close with something to ponder. Do you recall files and folders being mentioned on Star Trek?