Path: utzoo!utgpu!bnr-vpa!bnr-fos!bnr-public!schow From: schow@bnr-public.uucp (Stanley Chow) Newsgroups: comp.os.misc Subject: Why Unix is good (was Re: Unix bigotry) LONG Summary: Title is misleading. Message-ID: <285@bnr-fos.UUCP> Date: 16 Feb 89 09:46:23 GMT References: <117@spectra.COM> <692@cvbnet2.UUCP> <3101@ficc.uu.net> Sender: news@bnr-fos.UUCP Reply-To: schow@bnr-public.UUCP (Stanley Chow) Organization: Bell-Northern Research, Ottawa, Canada Lines: 156 Hit 'n' now to skip another LONG Unix-is-good; no-it-it-not battle. Willaim B. Pace claims in <1170@spectra.COM> that AOS code is much cleaner than Unix code. Karl lehenbauer replies in <31010ficc.uu.net> saying so what? Given that Unix runs on just about every machine ever made, and a large third party software market, Karl continues: > >The writing is on the wall, gentlepeople. You can sit in your corner with >technology that's incompatible from what almost everyone else has, and >maybe do wonderful things. Your technology may even be superior in some >ways. But you take a big hit in that there aren't a lot of other people >generating software for your machine -- you'll have to do a lot of it >yourselves, meaning a lot of stuff you'd like won't get written, plus >economies of scale may be such that a database package costs $100K instead >of $1K. Savvy customers, especially those burned by the high cost of >converting software from one incompatible software and hardware architecture >to another are find, are going to Unix in droves, and while everyone has >their pet peeves about Unix (including me), I think it is a reasonable >platform for future development and do not see any architecture-independent >operating system capable of challenging it at this time. This is one of the few times (if not the first) that I have agreed with the Unix proponents. The reality of economics is such that no operating system will chanllenge Unix for sometime to come. However, are all you other Unix proponents out there going to let Karl get away with putting Unix into the same catagory with OS/360, MS/DOS? I would have thought that a major insult! (Please add as many smilies as you like). **** on the one hand **** There are many points in favor of Unix: - Portability (of people, not code) - Connectivity - Flexibility - Standard By people portability, I mean you can take some random computer science grad and expect reasonable productive quickly. This is a great asset for large companies. By connectivity, I mean things like rlogin, TCP, etc. I am composing this note on the HP 9000 on my desk rlogin to a Sun connected via ethernet. The seamless connection and convienent file transfer that can be achiverd is very impressive (and useful). By flexibility, I mean that people can take any device and hook it up, write a couple of filter and do everything with pipes. You can do anything you want. By standard, I mean that most Unix boxes look pretty much the same, the commands work pretty much the same, etc. (This is of course the key factor allowing people portability and also accounts for the successes). *** And on the other hand **** There are lots of other points againist Unix: - Non-protable code. I know the truism "Unix & C are the most portable system & language". I have no knowledge about the portabiity of Unix itself (the many versions of it) but the horror stories I have heard (and read about in the net) makes me think twice. (I am not saying it is impossible to produce an implementation of Unix that is nicely protable or that all C programs are inherantly non-portable, just that current practice does not). - The worst ergonometric design for a human interface I have ever seen. How many horror stories have you heard about people wiping out systems at a single keystrok? How many of you have tried to explain to non-hackers how (and why) to pipe things through filters? - No concept of full screen graphics. Unix seems to be still firmly tied to the day of 75 baud teletypes. (I know about X-windows and such, in fact I am using it right now). All the commands seem to be designed to minimize typing or half-duplex echo time. - I am sitting here typing this note in "vi" - the so called full screen editior of choice (see the man pages). I have used editors a decade ago that were better. (I use Micro-Emacs at home on my Amiga, but even that still reeks of teletype). For text editing, I will take a locally attached IBM 3278-4 anytime (since I can then use XEDIT and REXX). - Totally incomprehensiable magical incantations to do almost anything. Yes, I know, the Unix way is to set up aliases. If that doesn't work, write a shell script. If that doesn't work, write a filter. When all else fail, write your own shell. Consider the poor J. Doe user who forgets the location of a file (i.e., the parent directory). Do you really expect the non-hacker to connect filters and pipes ending up at grep with a bunch of funny characters? By their every nature, filters are most useful for people who understand how the system works. Add in the fact of three standard shells, the secretaries are going to be lost. - You have to know everything to do anything. This used to be the complaint people leveled at OS/360 since for everything you want to do, IBM provides about a zillion options on how to do it. Well, I think Unix has OS/360 beat in spades. To set up my nice HP-Sun connection, (after the physical connection is done and FTP, TELNET already work), I had to look at over a hundred pages of documentation: set, setenv, env, stty, tset, csh, termcap, and many other truely strange and wonderful beasts. Just so that I can get the right size window? How would you explain to a typist that you want to set some environment variables? Or that there are two kinds of variables set in three different ways depending on the shell? What about the escape characters that you sometimes need? How about resize not working as a command but has to be aliased so that the shell can do the setting of the variables? Should I go on? - Totally non-standard ways of doing things. I counted roughly a dozen ways to achive reverse vider on a xterm console. There are probable just as many ways to specify any other option. Guess how many programs handle all possible combinations of parameters and options? How many manuals assume all parameters are at the default settings? How many versions and clones of Unix are there? Are there any two that are 100% compatible (in the 100% PC clone sense)? How many levels of #ifdef is it for 'rn' to achive portibility? - Unix is a pig for CPU cycles and memory. How many workstation do you know that will support a single live user on less than a fast 68020 with 4 Meg of real memory and 50 meg of harddisk? I have an Amiga at home with a 7 MHz plain 68K with 2 meg of memory and a ST-225 that out performs many workstations for supporting a couple of edit sessions, a compile or two and a game while you are waiting (plus the half dozen obligatory monitoring gadgets). To sum it up, Unix achived a major breakthrough in creation of "deparmental computers". It will continue to succeed in the technical market place. However, there is a lot of evolving to be done if Unix is ever going to make it in the office market (competing with fast MS/DOC machines). Technological baggage from a by-gone era is not a good reason for poor human interface. (The observant readers will note that I did not discuss the internals of Unix. This is because it does not mattter in the real world. People care about functionality, researchers care about algorithms, only implemenators care about implementation). Stanley Chow ..!utgpu!bnr-vpa!bnr-fos!show%bnr-public (613) 763-2831 Discalimer: Since my employer is putting in Unix workstations by the hundreds, they would probably not listen to me even if they knew I had any opinion.