Text File

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 <jgoerzen@complete.org> 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.