I've written C code to make an educated guess at something on the
order of 100 file formats, ranging from the dirt-simple tagged
formats where the header is guaranteed, to the more free-form
script language. This was for the "recognizer" code in a program
that translated between file formats.
Although the UNIX purist might argue that all is bytes, in reality
for many folks, they routinely deal with known file types created
by a relatively few applications. Knowing what's inside a file
and how the user likes to deal with it is a handy function of
a computer, no? You might as well argue that you don't like
standard filename extensions becaues filenames are just bytes.
If you don't have file(1) and you don't have filename extensions,
what do you have? A lot of files that you don't know what they are
unless you can look inside.
- John