Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 (Tek) 9/28/84 based on 9/17/84; site hammer.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!vax135!cornell!uw-beaver!tektronix!orca!hammer!dce From: dce@hammer.UUCP (David Elliott) Newsgroups: net.flame Subject: Re: UNIX, UNIXpeople, USENIX ravings Message-ID: <1571@hammer.UUCP> Date: Thu, 17-Oct-85 11:28:58 EDT Article-I.D.: hammer.1571 Posted: Thu Oct 17 11:28:58 1985 Date-Received: Sat, 19-Oct-85 07:18:59 EDT References: <317@mcgill-vision.UUCP> Reply-To: dce@hammer.UUCP (David Elliott) Organization: Tektronix, Wilsonville OR Lines: 93 Summary: (I'm not including the original here, as it is long and I'm not replying to specific points.) I think that Mr. "Mouse" has somewhat of a one-sided view of Unix. As a long-time Unix user and systems person myself, I agree with many of the points he brought up. The source is reasonably priced. Many computer programmers can modify the source to fit their needs. There are things that Unix provides that other systems do not. At the same time, we must look at this from various viewpoints. First of all, Mr. Levadie (the original flamer) is not a programmer. He is a EE. Yet, Tektronix is committed to using Unix throughout the company for engineering purposes, so Levadie has to use it. Some people just do not have time to go through the (somewhat poorly organized, and certainly not consistent between 4.2BSD and System III/V) Unix sources and hack them. Neither does he have time to figure out how many parts of the system work, since many things are poorly documented. Some people have said that Unix is a source system. That is, you have to have the source to use it. I admit that that is true, but Mr. Levadie's situation is that this is not right. Some of mouse's comments are completely one-sided. If you don't like the way 'cd' is done, you can rewrite that part of the shell, or can you? Take a look at the way that csh does a simple cd. It isn't that simple. Not only does cd handle directory names, it may work with the directory stack ("cd +2") and searches the cdpath variable (and it doesn't work the same as CDPATH in System V). The average EE (assuming a spouse and/or other commitments) has about 30 minutes per day that could be reasonable devoted to working on a systems problem. That works out to one day to locate a copy of the source and start the compile, a week to understand the way cd works (liberal estimate based on good programming skills), one day to make the changes (very liberal), one day to test, one day to debug (and you can't use sdb to debug an interactive csh), and so forth. It could take weeks to do what mouse or I or any number of Unix sophisticates to do in a couple of hours, and those weeks are just not available. Also, mouse is assuming that any programmer can modify any Unix source. Hell! There are commands for which you can't even READ the source. The lines are jammed together. There are few comments. Things are inconsistent (one program checks for bad writes, another doesn't; one prints "Can't open file %s" and another says "%s not found" or "%s : No such file or directory"). There are assumptions made that can not possibly be made in most situations (the filename given to bc will always exist and be a regular file). Thus, it does require a Unix "guru" and (not "or") the source to be able to reasonably modify the system. Then, you have two more things to worry about: support and compatability. That change to the way csh does cd has to be propagated into 4.3BSD and 4.4BSD and 4.5BSD and then when you go to V8 or Ultrix 12.643 or Jim-Bobix Version 86 it has to be added there. No? What about the manager that uses the way cd now works in half of his shell scripts? Oh, I see. You'll fix the for him. Oh, I see, you only made the change for your own version of csh that nobody else uses. "Hey, man. That's a pretty neat feature! Can I get a copy of your csh?" A small company can easily afford a Unix binary license, but not a source license. Thus, there are binary ditributions of Unix available. Take UTek for the Tektronix 6130 workstations, for example). I worked on building this system for 2.5 years, and had to work with completely naive users. Not only did we completely redo the online documentation system, but we made little changes in the utilities and added new packaged interfaces so that a EE or a secretary or a non-technical manager could administer and use the system. The days are gone when everyone can have their own little Unix system to do with as they please. Unix is now part of the industry, and as such must be used by non-technical people. There do exist efforts to standardize Unix. As much as I hate to see the old ways of hacking and customizing die, I have to applaud these efforts (specifically the ANSI C Committee and /usr/group Unix Standard people). Finally, I am fed up with all of these cries of "Unix is no worse than " and "you can do easier on Unix than ". This is just as stupid as saying "the U.S. is no worse than Russia, since they have nuclear weapons, too" or "it's OK if I drive 90 mph in a 35mph zone, since I saw somebody doing 100 just a minute ago". We have got to get out of this mode of relative thinking and start working with absolutes. If Unix isn't the best system in the entire world; if it doesn't make the other systems look like dirt; if there is one single ambiguous phrase in a manual page, we have work to do. David Elliott Tektronix, Inc. tektronix!tekecs!dce If these views don't represent those of Tektronix, Inc., then why in the hell did they hire me in the first place? they hire me.