Yes, I *know* this has been done other ways in the
past.
What I am trying to figure out is the rationale behind
why it has (apparently) migrated into the file *name*.
That, I think, was a necessary side effect of the original Unix design
decision that "a file is a sequence of characters" without special propertis
that are known to the operating system.
As has been pointed-out DEC operating sytems going batck to DOS/BATCH 11 and
probably earlier have used the (then) 6.3 convention. What might not be so
well known is that for most mainframe operating systems of the era a lot of
attributes of a file were stored, maintained, and _enforced_ by the
operating system. This was especially true of the GECOS (later GCOS) system
that the Bell labs people knew all to well.
So, as far as the OS was concerned, files might be serial, sequential,
indexed sequential, random (and perhaps other organisations) with fixed or
variable record sizes. (see the DCB card in OS360 JCL); there may be a
complex set of access permissions (not just read/write/modify, or even
access control list, but possibly password-controlled access or time of day
limited also); and there probably also are a large set of backup options as
well.
These could make if very difficult, for example, to write a COBOL program
whose output was source for the FORTRAN compiler [and even harder to do the
reverse - COBOL, at least, could probably handle most file types)
Andy