Aucbvax.5874
fa.info-vax
utcsrgv!utzoo!decvax!ucbvax!info-vax
Wed Jan 20 21:53:05 1982
Re: UNIX vs. VMS
>From teklabs!terryl@Berkeley Wed Jan 20 21:50:00 1982

    There has been so much drivel from the purists(hackers?) on both sides
that I believe the original issue has been clouded over. No one involved in
the discussion has made any valid points about why either system is better.
I woud like to give one reason why I prefer UNIX over VMS, without trying
to get into any emotional discussion about whether VMS has umpteen file
structures for users to use, or whether or not the underlying I/O system is
totally useless by the average user, or whether or not UNIX really needs more
than one file system, etc. Most of the average users(or shall I say casual
users) would probably never use these things in their programs, anyways. I
would like to discuss something that affects EVERY user of a system, from the
casual user to the most advanced user: the underlying tty (or terminal) driver
that the user sees. It is probably the most important part of any system, and
one that is either usually put together without much thought of the user, or
one that is hacked beyond recognition that it is a terminal driver. I believe
VMS falls into the first category, and UNIX falls into the second. My exper-
iences from VMS comes from 4-5 months of working on later versions of release
1, and if any of the following no longer applies, my apologies.

    Terminal drivers should do nothing more than take characters from a
terminal, echo it in some readable way if appropriate, and do nothing more
than erase processing or kill line processing, and maybe expanding tabs to
spaces. It should NOT do anything else; if any other processing is required,
it should be left up to the program to do that processing. This is one point
where VMS really loses; almost all non-printing characters(i.e. control
characters) were interpreted by the VMS terminal driver, most notably escapes.
This made it damn hard to put any control-charcters into a file with the
editor(yes, there were many a times I would have liked to put in escapes
sequences into command files to do various mundane things like clear screen).
Also, control-l's were interpreted by the terminal driver and changed into
an appropriate number of line-feeds(how they determined the appropriate number
of line-feeds is beyond me). There were applications where I was trying to put
up a menu system on a terminal that required an escape control-l to clear the
screen, and I would have preferred to use the VMS equivalent of echo to echo
that sequence to clear the screen. But since the terminal driver interpreted
both of those characters, I could not get them in the command file(there may
have been way doing some magic incantations before going into the editor, but
wasn't one of the complaints against UNIX about some of it's magigcal incan-
tations?? I believe VMS suffers from that same problem here). Another point
against VMS is something most of us used to UNIX is changing the terminal
characteristics, i.e. being able to enable or disable character echoing, etc.
Under VMS, you had to have a system priviledge to do that, one that the system
manager did not want to give to me. Another point that most UNIX users can
realy get used to is that is possible to defeat the purpose of the magic
characters easily(i.e erase character, kill line character, etc.) I do believe
VMS did not provide any means of defeating these characters. Also, I do believe
that VMS did not provide any way of changing these characters, either, a nice
capability when you use one computer to talk to another computer. The only
thing that I preferred in the VMS terminal driver over the UNIX terminal
driver was the capability to flush ALL type-ahead that the user had typed;
that was a nice feature that the UNIX terminal driver doesn't have.

    However, the terminal driver in UNIX is way beyond from being perfect. I
do believe that it has been hacked beyond recognition from being a terminal
driver, and some of the design decisions made weren't the best. But from the
user standpoint, I believe it is the best terminal driver of just about any
system I've seen. All it does is just take characters from a terminal, echoes
them if appropriate, and does erase and kill line processing, and expanding
tabs. It does not interpret any character that is not one of the magic char-
acters; also, there is an easy way to defeat all of the magic characters, and
changing the terminal's characteristic is pretty straight forward. It is easy
to change the magic characters to whatever the user wants. As I said before,
it doesn't provide the capability to flush all type-ahead, at least not on
version 7 systems(sorry, I haven't had much experience with VMUNIX; if this
capability is provided, then it makes the terminal driver that much better).

    I do believe that the terminal driver is one of the most important
system interfaces that many systems don't address very well. From the user
standpoint, I do believe that the UNIX terminal driver does the best job
without doing too much.


                                       Terry Laskodi
                                       ucbvax!teklabs!terryl
                                               or
                                       decvax!teklabs!terryl
P.S.:
    I can just see the response coming from both sides disagreeing with
everything I said, but everyone is entitled to his/her opinion.

-----------------------------------------------------------------
gopher://quux.org/ conversion by John Goerzen <[email protected]>
of http://communication.ucsd.edu/A-News/


This Usenet Oldnews Archive
article may be copied and distributed freely, provided:

1. There is no money collected for the text(s) of the articles.

2. The following notice remains appended to each copy:

The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.