Discussion:
Never Got Used To Those New-Fangled VMS Filename Extensions ...
(too old to reply)
Lawrence D'Oliveiro
2024-07-28 02:50:26 UTC
Permalink
When VMS first appeared, it made some changes to long-standing DEC
filename extension conventions, not all of which I liked.

Assembly-language source files were .MAC on the various PDP-11 OSes (did
this also apply to the PDP-10?), now suddenly they were .MAR. I always
felt .MAC had a ring to it, you know?

On the PDP-11, there were two Fortran compilers, with source filename
extensions .FOR (regular FORTRAN IV) and .FTN (optimizing FORTRAN IV+).
The latter was snazzier; so guess which one DEC picked for its ultimate-
in-snazziness OS? Yup, the boring one.

COBOL used to be .CBL; now for some reason it became .COB. Did anybody
ever create a program and call it CORN.COB?

BASIC was still .BAS. Pascal was always .PAS. Luckily nobody felt the urge
to replace .TXT with .TEX or something ...

Compiler/assembler listing files became .LIS instead of .LST, again for no
good reason I could fathom. Yet linker map files were still .MAP.

There was a new extension for executables, .EXE, which made sense, given
all the changes in what programs could do (and, oddly, it was also used
for shared libraries, instead of the older .LIB). But surprisingly, .OBJ
and .OLB were unchanged. And I guess .COM made sense instead of the
older .CMD, again because DCL was so far ahead of the older-style command
interpreters.

(And of course Dave Cutler took .EXE along with other VMS-isms with him to
Windows NT, but that’s another story.)

Directories still had to end with “.DIR;1”; I think this came straight
from RSX-11.

Hey, after all, nostalgia is just another word for “it’s never too late to
grizzle over what might have been” ...
Michael S
2024-07-28 08:57:06 UTC
Permalink
On Sun, 28 Jul 2024 02:50:26 -0000 (UTC)
Post by Lawrence D'Oliveiro
(And of course Dave Cutler took .EXE along with other VMS-isms with
him to Windows NT, but that’s another story.)
And of course you made it up.
Microsoft introduced .exe extension for relocatable executives back in
1982 (MS-DOS 1.25). 6+ years before they hired Cutler and 11 years
before shipment of the first Cutler's Microsoft OS.
Scott Dorsey
2024-07-28 13:23:16 UTC
Permalink
Post by Michael S
On Sun, 28 Jul 2024 02:50:26 -0000 (UTC)
Post by Lawrence D'Oliveiro
=20
(And of course Dave Cutler took .EXE along with other VMS-isms with
him to Windows NT, but that=E2=80=99s another story.)
=20
And of course you made it up.
Microsoft introduced .exe extension for relocatable executives back in
1982 (MS-DOS 1.25). 6+ years before they hired Cutler and 11 years
before shipment of the first Cutler's Microsoft OS.
That was Seattle Business Computing whose product was bought out by
Microsoft and became MS-DOS. SBC basically made a quick and dirty
copy of Gary Kildall's CP/M on the cheap without really understanding
all the features they were copying. But one of the things they copied
well were the file extensions including .EXE for executables.

CP/M itself was modelled after RT-11 which is where Kildall got the idea
for the .EXE extension.
--scott
--
"C'est un Nagra. C'est suisse, et tres, tres precis."
Michael S
2024-07-28 13:42:17 UTC
Permalink
On 28 Jul 2024 13:23:16 -0000
Post by Scott Dorsey
Post by Michael S
On Sun, 28 Jul 2024 02:50:26 -0000 (UTC)
Post by Lawrence D'Oliveiro
=20
(And of course Dave Cutler took .EXE along with other VMS-isms with
him to Windows NT, but that=E2=80=99s another story.)
=20
And of course you made it up.
Microsoft introduced .exe extension for relocatable executives back
in 1982 (MS-DOS 1.25). 6+ years before they hired Cutler and 11 years
before shipment of the first Cutler's Microsoft OS.
That was Seattle Business Computing whose product was bought out by
Microsoft and became MS-DOS. SBC basically made a quick and dirty
copy of Gary Kildall's CP/M on the cheap without really understanding
all the features they were copying. But one of the things they copied
well were the file extensions including .EXE for executables.
According to my understanding of Wikipedia article, the OS that
Microsoft bought from Seattle Computer Products and that they
published as PC-DOS had no support for relocatable executives. The only
supported format for programs was non-relocatable .com format.
Support for .exe format was added approximately a year later by
Microsoft's programmers, most likely by Mark Zbikowski, who was a young
guy the never worked for Digital Research or for Seattle Computer
Products.
Post by Scott Dorsey
CP/M itself was modelled after RT-11 which is where Kildall got the
idea for the .EXE extension.
--scott
Scott Dorsey
2024-07-28 15:18:34 UTC
Permalink
Post by Michael S
According to my understanding of Wikipedia article, the OS that
Microsoft bought from Seattle Computer Products and that they
published as PC-DOS had no support for relocatable executives. The only
supported format for programs was non-relocatable .com format.
Support for .exe format was added approximately a year later by
Microsoft's programmers, most likely by Mark Zbikowski, who was a young
guy the never worked for Digital Research or for Seattle Computer
Products.
Interesting!

And now that I think about it, CP/M used the .CMD extension for
relocatable executables, which was added on there long after the
.COM extension for absolute executables was used.

So .EXE may have been a Microsoft invention.
--scott
Post by Michael S
Post by Scott Dorsey
CP/M itself was modelled after RT-11 which is where Kildall got the
idea for the .EXE extension.
--scott
--
"C'est un Nagra. C'est suisse, et tres, tres precis."
Single Stage to Orbit
2024-07-28 17:15:07 UTC
Permalink
Post by Scott Dorsey
Interesting!
And now that I think about it, CP/M used the .CMD extension for
relocatable executables, which was added on there long after the
.COM extension for absolute executables was used.
Here's an interesting factoid; his initials MZ is in every Windows .EXE
binary. He's been memorialised essentially forever.
--
Tactical Nuclear Kittens
Rich Alderson
2024-07-28 19:14:17 UTC
Permalink
Post by Scott Dorsey
Post by Michael S
According to my understanding of Wikipedia article, the OS that
Microsoft bought from Seattle Computer Products and that they
published as PC-DOS had no support for relocatable executives. The only
supported format for programs was non-relocatable .com format.
Support for .exe format was added approximately a year later by
Microsoft's programmers, most likely by Mark Zbikowski, who was a young
guy the never worked for Digital Research or for Seattle Computer
Products.
Interesting!
And now that I think about it, CP/M used the .CMD extension for
relocatable executables, which was added on there long after the
.COM extension for absolute executables was used.
So .EXE may have been a Microsoft invention.
--scott
Post by Michael S
Post by Scott Dorsey
CP/M itself was modelled after RT-11 which is where Kildall got the
idea for the .EXE extension.
--scott
TOPS-20 (based on TENEX) used the .EXE extension on sharable executables,
although TENEX used .SAV on both sharable and nonsharable executables. Tops-10
used .SAV (or .LOW and .HGH for executables with a sharable segment), until
late in the game when TOPS-20 style sharable executables came to Tops-10.

I believe that RT-11 got .EXE from the larger systems.
--
Rich Alderson ***@alderson.users.panix.com
Audendum est, et veritas investiganda; quam etiamsi non assequamur,
omnino tamen proprius, quam nunc sumus, ad eam perveniemus.
--Galen
Lawrence D'Oliveiro
2024-07-28 21:53:26 UTC
Permalink
Post by Rich Alderson
TOPS-20 (based on TENEX) used the .EXE extension on sharable
executables, although TENEX used .SAV on both sharable and nonsharable
executables. Tops-10 used .SAV (or .LOW and .HGH for executables with a
sharable segment), until late in the game when TOPS-20 style sharable
executables came to Tops-10.
I believe that RT-11 got .EXE from the larger systems.
I think the significance of .SAV was that it was essentially a straight
memory dump, so loading it into memory was very simple. Whereas .EXE
required a bit more setup.
Rich Alderson
2024-07-29 19:40:05 UTC
Permalink
Post by Lawrence D'Oliveiro
Post by Rich Alderson
TOPS-20 (based on TENEX) used the .EXE extension on sharable
executables, although TENEX used .SAV on both sharable and nonsharable
executables. Tops-10 used .SAV (or .LOW and .HGH for executables with a
sharable segment), until late in the game when TOPS-20 style sharable
executables came to Tops-10.
I believe that RT-11 got .EXE from the larger systems.
I think the significance of .SAV was that it was essentially a straight
memory dump, so loading it into memory was very simple. Whereas .EXE
required a bit more setup.
Before the .SAV format for executables came along, the PDP-6 and PDP-10 used an
actual memory image format called .DMP, where the first word of the image file
was mapped to word 74 of the memory space into which it was loaded and each
succeeding word of the file was filled in.

.SAV files were compressed: An I/O word consisting of a negative length and an
address (the desired memory address - 1), followed by <count> words. Stretches
of zero valued words were thus skipped, making the files smaller than the .DMP
equivalent.

.EXE files have a directory page at the start which describes the memory layout
of the following file pages. Pages of all zeroes are not included, but long
stretches of zeroes in pages with nonzero contents are retained.
--
Rich Alderson ***@alderson.users.panix.com
Audendum est, et veritas investiganda; quam etiamsi non assequamur,
omnino tamen proprius, quam nunc sumus, ad eam perveniemus.
--Galen
Bob Eager
2024-07-28 16:56:37 UTC
Permalink
Post by Michael S
Post by Scott Dorsey
Post by Michael S
On Sun, 28 Jul 2024 02:50:26 -0000 (UTC)
Post by Lawrence D'Oliveiro
=20
(And of course Dave Cutler took .EXE along with other VMS-isms with
him to Windows NT, but that=E2=80=99s another story.)
=20
And of course you made it up.
Microsoft introduced .exe extension for relocatable executives back in
1982 (MS-DOS 1.25). 6+ years before they hired Cutler and 11 years
before shipment of the first Cutler's Microsoft OS.
That was Seattle Business Computing whose product was bought out by
Microsoft and became MS-DOS. SBC basically made a quick and dirty copy
of Gary Kildall's CP/M on the cheap without really understanding all
the features they were copying. But one of the things they copied well
were the file extensions including .EXE for executables.
According to my understanding of Wikipedia article, the OS that
Microsoft bought from Seattle Computer Products and that they published
as PC-DOS had no support for relocatable executives. The only supported
format for programs was non-relocatable .com format.
Support for .exe format was added approximately a year later by
Microsoft's programmers, most likely by Mark Zbikowski, who was a young
guy the never worked for Digital Research or for Seattle Computer
Products.
And the signature at the start of Microsoft .EXE files survives, still
with MZ - Marks' initials.
Simon Clubley
2024-07-29 12:41:06 UTC
Permalink
Post by Michael S
On Sun, 28 Jul 2024 02:50:26 -0000 (UTC)
Post by Lawrence D'Oliveiro
(And of course Dave Cutler took .EXE along with other VMS-isms with
him to Windows NT, but that?s another story.)
And of course you made it up.
Microsoft introduced .exe extension for relocatable executives back in
1982 (MS-DOS 1.25). 6+ years before they hired Cutler and 11 years
before shipment of the first Cutler's Microsoft OS.
Yes. My first MS-DOS version was around the 3.3/5.0 days and I knew the
.exe files had been well established in the ancient past by then.

I really do _NOT_ miss having to choose a memory model when writing
programs. :-)

I _do_ remember my first Microsoft language compilers/assemblers having
a full set of printed documentation.

Simon.

PS: I wonder if the Basic games that came with MS-DOS 5.0 could be made
to run under DEC Basic. :-)
--
Simon Clubley, ***@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
Arne Vajhøj
2024-07-30 01:21:32 UTC
Permalink
Post by Simon Clubley
PS: I wonder if the Basic games that came with MS-DOS 5.0 could be made
to run under DEC Basic. :-)
I would expect few GW-Basic programs beyond hello world to compile
with VMS Basic.

Arne
Lawrence D'Oliveiro
2024-07-30 01:37:27 UTC
Permalink
I would expect few GW-Basic programs beyond hello world to compile with
VMS Basic.
The microcomputer world was dominated by Microsoft BASIC. DEC had its own
BASIC dialect. Though it did include Microsoft BASIC on the VK100 “GIGI”
graphics terminal.

Loading...