History of file extensions

Stephen Tashi

Science Advisor
6,548
980
What's the history of using extensions of file names (such as *.c, *.for, *.bmp etc) to indicate the general type of a file?

My hazy memory of working on ancient mainframe computers is that a file name extensions were not mandatory for most software. For example, if you wanted to compile a Fortran program, you didn't have to end the name of the source file with ".FOR". People did use file name extensions as reminders to themselves, but these were a matter of personal preference.

When ms-DOS, arrived, the associated software did expect files to have particular extensions. For example, a BMP file has information about itself in a specified header within the file, so in principle a program could examine the contents of a file named "WALDO" and determine if it was a BMP image file instead of expecting the file name to be "WALDO.BMP". However, most software was lazy in that respect and required the extenson on the file name to indicate the file's type.
 
6,116
3,358
That's an excellent question. First, we didn't have files, we had decks or tapes. Then we had files but they didn't have names (search for 4 EOF marks on the tape). Then they had names, then they had names with extensions.

The earliest I can remember was Unix in 1977 had file extensions. That long predates the PC or the Apple ][ or MS-DOS.
 
32,121
3,994
The earliest I can remember was Unix in 1977 had file extensions. That long predates the PC or the Apple ][ or MS-DOS.
Not so long, depending on how long "long" is.
Apple ]['s were around in '77, and the IBM PC dates to '81. I don't believe that the Apple computers used file extensions, at least not before ProDOS (if then), but the PCs certainly used file extensions from the get-go, I believe.
 
6,116
3,358
I also remembered that the DEC machine also had file extensions. PDP-11 date? DEC 20 date? Also Multics going back to the 1960s.

Edit: Also the HP2100 circa 1973 had file extensions. As did the Prime 300 in 1974. The VAX in 77. Data General, Interdata, Modcomp, Xerox, there were many systems with file extensions in the 70s.

Edit: The Apple ][ in 77 yes, but it did not have files until the year ?? when it got floppy disks too. I bought my Apple ][ Plus model in June 1979. It had floppies from the first, if I remember right.
 
Last edited:

Vanadium 50

Staff Emeritus
Science Advisor
Education Advisor
22,453
4,782
IBM's MVS/TSO did something similar in 1971.
 
415
152
What's the history of using extensions of file names (such as *.c, *.for, *.bmp etc) to indicate the general type of a file?

My hazy memory of working on ancient mainframe computers is that a file name extensions were not mandatory for most software. For example, if you wanted to compile a Fortran program, you didn't have to end the name of the source file with ".FOR". People did use file name extensions as reminders to themselves, but these were a matter of personal preference.

When ms-DOS, arrived, the associated software did expect files to have particular extensions. For example, a BMP file has information about itself in a specified header within the file, so in principle a program could examine the contents of a file named "WALDO" and determine if it was a BMP image file instead of expecting the file name to be "WALDO.BMP". However, most software was lazy in that respect and required the extenson on the file name to indicate the file's type.
IBM's MVS/TSO did something similar in 1971.
It still does. These days it's called z/OS TSO/E. The EDIT (line editor) command in TSO (Time Sharing Option) uses the final qualifier of a dataset name as a dataset type to set defaults for record format, block size, and logical record length. Most other programs ignore the content of dataset names. MVS still limits dataset name length to 44 characters.
 

Klystron

Gold Member
282
297
DEC PDP-11's (not sure about the PDP-8) and VAX computers in early 1980's used file extensions. IIRC the C interpreter expected .c and produced .o object files expected by the compiler. My first use of FORTRAN in late 1970's complied according to directives coded on the first punch card (usually colored green) in job control language (JCL). The IBM mainframes included .for and.obj file extensions but do not know if they were required. Probably depended on the program or script.

[Edit: removed .exe from JCL list. Used later.]
 
Last edited:
415
152
Klystron said:
My first use of FORTRAN in late 1970's complied according to directives coded on the first punch card (usually colored green) in job control language (JCL). The IBM mainframes included .for,.obj, and .exe file extensions but do not know if they were required. Probably depended on the program or script.
The compiler or assembler can generate a dataset name ending in .OBJ for the object module. I've never seen .EXE in an IBM mainframe dataset name. It wouldn't be invalid, but it also wouldn't have its special meaning there. Maybe you remembered the JCL EXEC statement.
 
Last edited:

Want to reply to this thread?

"History of file extensions" You must log in or register to reply here.

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving

Top Threads

Top