Archive for October, 2013

Is the binary file format dead?

October 30, 2013

In my mind, the universe of computer files falls into two categories:

1. Binary files
2. Text files

Of course, inside the computer there is no text (i.e., ‘a’, ‘b’, ‘c’, etc.) but only zeros and ones. So “text files” really means “a sequence of zeros and ones that we have agreed to represent an encoding of text”. The illusion that a computer file contains text is so complete, we rarely realize that it is an illusion. Lots of tools have been created to support this illusion (perhaps a better word is “abstraction”; yes, that’s the word I will use from now on), such as “text” editors and compilers.

I think the text abstraction was one of mankind’s most monumental achievements.

It makes me wonder why we would want computer files to be anything other than text files. There are such compelling advantages to the text abstraction: (1) ability to relate to a computer at a human level rather than a machine level – you can see the text, read it, make sense of it, (2) ability to create higher and higher levels of abstraction – “It’s not just text, it’s a “BookCatalogue”. And there are many other advantages.

I understand that binary files are typically smaller. And smaller is often desirable. And probably faster. Fine.

But today’s desktop computers have huge amounts of memory and are extremely fast. Surely size and speed are of relatively little concern nowadays. And even if size and speed are of concern, surely the ability to solve problems at a higher level of abstraction (as the text file format provides) is many orders of magnitude more important. Yes? Surely the binary format is a relic of past computing days and it is time to discard such antiquated things. Yes?

HTML is text. This document is text. Yea!

JPEG files are binary. So is PDF. And GIF. And PNG. And many others.

I’d like you to put on your prognostication hat: do you foresee the demise of the binary file format?