How do Unix and VMS compare?

mark at elsie.UUCP mark at elsie.UUCP
Thu Jun 28 23:07:12 AEST 1984


<>
David Chase (followed by others) have been involved in UNIX (AT&T Bell Labs 
Trademark) vs DEC's VMS OS (DEC Trademark). I'll try not to go over old
ground (bless you, 'e' option), but there are a few points I would like to make.

>	When the next minor version of VMS comes out, your programs will
>still run.  When the next major version of VMS comes out, your programs
>will still run.  We are still running (under 3.6) programs that were
>linked under 2.5, and these programs are linked against a user-written
>library full of change-mode vectors.  Of course, the library is installed
>as a shareable image, so it has been changed many times.
...
>	A stinking minor version change breaks the whole world.  Already
>there are two different Unixes.

I.e., VMS is backward compatible. This means that every design glitch in the
original version of VSM must be carried forward forever, or until DEC
decides to no longer support VMS. This also means that if you get sloppy and
lose your source code VMS will cover for you until the stray gamma ray comes
along and zapps you. This also means that if new idea comes along (e.g. a
new filing system, or object code format) you may not be able to install it
unless backward compatibility can be maintained. Eventually things become
set in concrete and you're left with an obsolete dinosaur.
	I maintain that losing source or bit tiddeling object code (so you
have no source) is a major programming sin. One should recompile ones programs
regularly (at least those installed system wide) to be sure they still
compile and run. If, every few years, a new version of the OS comes out
that requires recompiling or relinking of all code, and *THAT RESULTS IN A
MAJOR IMPROVEMENT IN SYSTEM PREFORMANCE*, then I for one am willing to spend
the few hours of compile time and the few weeks of system shakedown to bring
the new system up. Of course then, we're not a bank.

>	Unix encourages C, and that is bad.  C is just assembly language
>with pretensions.

This is the only truly ridiculous statement in Mr. Chase's entire article.
Yes, C is a glorified assembler. A device independent assembler. And, I
believe, most compilers, at some point, produce assembly code before
churning out machine code. C is also highly portable, concise, and powerful.
It ain't perfect, to be sure, but it's better than most.

>	If I miss a keystroke, I type "rm *>CKP".  This is very bad.

Amen. But isn't it possible to miss a key stroke and do something very bad
in VMS also. Surely some new user must have figured out a way by now :-)

Now, M. Kenig writes:

>If Unix had more machine specific code, it would be more difficult to port.
>Unix "can be moved across machines with architectures and capabilities" 
>easily because it seems the people who move it CHOSE TO IGNORE THE UNIQUE
>CAPABILITIES and ARCHITECTURES OF THOSE MACHINES. Case in point: the VAX.
>Ignore the FPA and the Virtual memory and what have you got?  Right, a 
>PDP-11/40.  Whoopee! It's even more cruel to do this to a larger machine
>like a Cray.  Says Unix-porter, "Nothing easier if we ignore the vectorizing."
>Giving the power of an 11/70 to an IBM-PC is a noble thing, giving it to a
>VAX reminds me of a Ben Franklin quote:  "Calling a steer a 'bull' is a
>compliment; he's grateful for the compliment, but he'd rather have restored
>what's rightfully his".

Bunk. There are good ports and bad ports. A new machine will usually come up
with the minimum possible UNIX. Remember U/32? With time the OS for that
system will improve. This is true of all (most?) OS's. Look at 4.2 bsd;
compare 2.0 VMS with the latest version. With C you can take advantage
of machine architectures and maintain portability with the use of #ifdefs.
I.e.:
	#ifdef VAX
	...vax assembler here via the asm() mechanism; e.g. mov3()
	#else
	...portable C code here..
	#endif

But, a system intimately tied to VMS, or any other proprietory OS, will be
forced to run only on DEC machines running VMS. That is, after all, on of
the reasons they give you VMS when you buy a VAX. They want to make sure
your next computer will also be a VAX (or something compatible). That's just
good business, and that's also one reason DEC used to fight you when you
tried to bring UNIX up on one of their machines (that was back in the dark
ages and is certainly no longer true).

>All opinions and statements expressed herein are solely mine, and in
>no way may be construed as reflecting the official or unofficial
>opinions or attitudes of either my contractee, or my employer.

Ditto.

-- 
Mark J. Miller
NIH/NCI/DCE/LEC
UUCP:	decvax!harpo!seismo!umcp-cs!elsie!mark
Phone:	(301) 496-5688



More information about the Comp.unix mailing list