From VMS to UNIX

Dan Klein dvk at mi-cec.UUCP
Wed Oct 5 01:35:21 AEST 1983


Well, here is my 2 cents worth:  I have been working with/in Unix since our
center had an 11/34a with 2 RK05's (yeah, that little), and a late V5
distribution (pre V6 and V7!).  I have also been working with VMS since
it was in Beta release in 1978.  I therefore feel qualified to comment on
both operating systems without much bias, and certainly without being
affected by the "I learned on this one, it's the one I'll stay with" syndrome
(since I've also worked with/in TOPS-10, Hydra, RT-11, etc.).

	1a) Unix has a great user interface - if you know what you are doing.
If you don't, forget it, because the user help interface stinks.  There is
absolutely no equivocation on this point.
	1b) VMS has a verbose, laborious user interface. It is VERY consistant
in that all programs talk to the DCL the *same* way (not a random, programmer
defined way).  The help facility is pretty detailed, so if you don't know what
to do, you can probably find out.

	2a) Unix documentation is okay (only barely) if you know what you are
looking for.  There are an *awful* lot of undocumented features.  And one big
pet peeve:  Why the hell is there a BUGS section?  If you know about it, then
FIX IT, damn it!
	2b) VMS documentation tells you *everything*, which is great, but there
are cases where you have to *read* everything before you can do *anything*.
VMS also has real indices, not this crappy ptx stuff.

	3a) The Unix set of primitives is pretty sparse. And also pretty
redundant. (i.e. read, fread, getc, getchar, cgetc, fgetc...).  Give me *one*
primitive to do stream input.  You can create macros to get all the syntactic
sugar you like, but enough diversity, already.
	3b) The VMS set of primitives is very robust, albeit a little
complicated at times.  You can do most anything, although there are a few
bits of bogosity here and there.  On the whole, this is VMS's biggest win.

	4a) Unix has stream oriented files.  They are very nice.  What is not
so nice is the fact that that is all you get.
	4b) VMS has all *sorts* of file types.  Unfortunately, they don't
really have the easy to use Unix flavor stream oriented files.

	5a) C stinks.  It is inconsistant, irregular, and generates lousy
code.  It can also be damn near unreadable.  It *is* "portable", though.
	5b) Bliss is wonderful.  It is consistent, regular, and generates
the best code this side of the Pecos.  If you don't believe it, try a
comparison yourself.  I have.  It too can be unreadable, but not as badly.
Unfortunately, it *isn't* portable.  Too bad.

	6a) The Unix concept of 14 million little applications programs
leaves something to be desired.  Why do cat, pr, more, dd, tar, and write
all have the ability to dump a file to your terminal?  One program to subsume
these features might be nice.
	6b) The VMS concept of 1 mongo application to do everything leaves
something to be desired.  Sometimes it is nice to have a few million little
programs.  But you can get them in VMS by defining aliases that set switches
in the mongo program.

	7a) Unix is by and large unsupported.
	7b) VMS is by and large very supported.

	8a) Unix has these *wonderful* things called pipes that can be accessed
directly from the shell.  It also has a history mechanism and on some systems
command completion.  Internally, the implementation of the first and last of
these is a bit of a crock (a bit?), but they are great.
	8b) VMS ain't got no.  Pity.

	9a) Unix would be *great* if someone wrote real documentation, and
tore the whole thing down and started over.  The concepts have a *lot* to
say for them, but the implementation has been pretty haphazard along the
way (translation: crocky).  Improving on the primitives and providing a
consistant tool set would also be nice.  Consider the past 6 years to be
an experiment, and now do it right. (Hear that, GNU people?)
	9b) VMS would be *great* if someone wrote a real command interpreter
for it, like the shell.  I would be *very* surprised if this is not in the
works now at DEC.

Both VMS and Unix have a lot to say for them.  Both have negative points.
In attempting to remain unbiased (by the way, we run *both* here), I
constantly oscillate in choosing a "favorite".  Both are bogus, and both
are nice.  The OS of choice would be a hybrid.

		-Dan Klein, Mellon Institute, Pittsburgh



More information about the Comp.unix.wizards mailing list