Roundtable

BYTE columnists, staff, and contributors debate the issues

What's Wrong With Unix?

DON CRABB Contributing Editor
MARTIN HELLER Contributing Editor
LARRY LOEB Consulting Editor
STAN MIASTKOWSKI Senior Editor/New Products
ANDY REINHARDT News Editor
JON UDELL Senior Technical Editor at Large
ELLEN ULLMAN
BYTE

December 1, 1991

Roundtable is a forum in which BYTE editors, columnists, and contributors debate key issues that affect how you purchase and use hardware and software. The ''conversations'' take place on BIX, where you can participate in the round.table conference.

ELLEN ULLMAN: At the risk of opening the proverbial can of worms (picture me smiling, not fishing), will someone tell me just what is the big objection to Unix? I don't understand the animosity toward Unix. For me, it has a coherence (an elegance, almost) that I don't see in other operating-system designs. DOS 5.0, with its modes and memory management schemes, looks like the sort of retrofit kludge that any self-respecting programmer would be ashamed of. Windows, likewise. The coherence is missing. And it sounds like multimedia extensions, pen extensions, and so on will just make it worse.

ANDY REINHARDT: I think the basic problem with it is that Joe and Joanne user simply don't need it, if what they're used to doing is cranking out form letters from WordPerfect or throwing together a few slides in Harvard Graphics. Why upgrade to something so scary, with awful-sounding commands like awk and grep, when you can have pretty little color pictures on a Mac for $1200?

MARTIN HELLER: Unix has been updated a lot--by every Tom, Dick, and Harry with a computer since Dennis Ritchie could fit the whole distribution on one RK05 pack. Consequently, there are a million different Unix variants, and almost all of them are bloated beyond recognition (speaking as someone who last saw Unix in the flesh in the PDP-11 RK05 days).

TOM YAGER: True, it does get confusing when there are multiple choices on a single platform (like Intel-based PCs), but generally, a large part of Unix's strength is the huge number of people and companies that have contributed to its development. Unix is unique among the operating systems in that it is a melting pot of good ideas, taken from college students and multibillion-dollar corporations alike.

It's true that all this innovation is scattered across various versions of Unix. But both AT&T and the Open Software Foundation are working to combine the best features of the available Unixes into a single operating system.

Does that mean that Unix is perfect? Hardly. Only now are vendors starting to realize that ease of use and administration are issues that need to be resolved before Unix can enjoy widespread commercial success. Creating simple front ends for Unix use and administration isn't hard; it's just that few companies saw a need to invest the time and effort before. The next several months will see some breakthroughs in this area, and vendors will adjust their offerings to account for the fact that most users, with their desktop or deskside individual systems, are their own system administrators. Another problem has been packaging: Nobody has come up with an inexpensive, run-time-only Unix that can be used as an application platform. Open Desktop from The Santa Cruz Operation fills most of the bill, but DOS buyers, accustomed to spending $100 tops for the latest version of DOS, still balk at the price.

ULLMAN: OK, Unix is far from perfect. But do you know a better operating system? One that is not either too small (DOS) or too big? As a systems programmer, for me the issue was the ability to do what I needed to get done. I had interprocedure communications, signals, semaphores, and pipes. I had a high-performance file system. True multitasking. All the things we are waiting for in PC platforms.

It seems that most of the objections to Unix are religious. It's too bad that early Unix devotees were evangelistic about the operating system--once the adherents were religious, the detractors were free to be religious as well.

JON UDELL: All that's wrong with Unix is that it hasn't been sufficiently well commoditized--not for the dominant Intel platform, but not really anywhere else either, although Sun and Next are getting close. In principle, there's no reason in the world why Unix can't be made more easily user-installable and user-maintainable than it is. In practice that hasn't happened, so the first step is a doozy.

That's a shame because, so far as I can tell, once you're over the hump all kinds of things (e.g., networking, E-mail, and multiuser applications) sort of just fall into place. DOS/Windows looks easy because even my own father can manage to install it and use it.

But then, when you try to layer on the networking, E-mail, and multiuser applications, that illusion of ease of use melts away--things just keep getting harder to do. The hope for OS/2 2.0 is that it'll strike a balance between these extremes: easy to get started with, but capable of real growth.

ULLMAN: The ''problem'' of Unix has always been the administrator. Every place I've ever worked had one or more. Remember, Unix is industrial-strength. It should be compared not with DOS but with something like System/38 (AS/400) or VMS or perhaps VM. Systems designed for multiuser commercial use need administrators and systems programmers. There's nothing wrong with that fact, per se.

LARRY LOEB: Unix reminds me of DOS a lot. They both are command-line interfaces that work well on an ASR-33 teletypewriter at 110 bps. They are both cryptic, and actions do not flow from instructions directly without your holding some sort of intermediary result in your head (let's see, what directory am I in, what modifiers exist for this call, where is the darn MAN page?).

It's a great way to keep programmers employed, though. For a long time, it was the only way to get several users on one computer. That's what it did--and it still does. I just think that we've outgrown the need to do that as much, and I haven't even started on the GUI aspects--or lack of.

ULLMAN: Hmmm. Can I try to separate the user-interface issue from the programming-interface issue? In its native state (without Motif/Open Look), Unix is cryptic to the end user, true. But to the programmer, interacting with the system calls, the system looks crystal clear; at least it does to me.

The user interface, the cryptic commands, the teletypewriter command line: Are these the main reasons for the Unix bad rap? If so, that objection is taken care of in the architecture itself. Just install another shell, one more to your liking.

Does it bother you that much that, as an individual, you're not an expert in everything the system has to offer? That you'd have to cooperate with some other people to get the job done? That you might really need the help of an administrator? Maybe this is what has created such heat against Unix: It's not a ''personal'' operating system. It was designed as a collegial operating system.

YAGER: I don't think you can reasonably separate the base operating system from the GUI layers that have been built above it. Workstations would have no market if it weren't for graphical interfaces. Unix GUIs aren't some recent development; they've been part of workstations since Apollo invented them more than a decade ago.

As for Unix being cryptic to use, hogwash. If you boil it down to DOS's command-line functionality (e.g., delete, rename, and run program), Unix is no harder to use than DOS. I didn't say ''administer,'' and I hasten to point out that huge numbers of DOS users don't know how to format a floppy disk or hook two systems together. How difficult Unix is to use depends entirely on how much you ask it to do.

DON CRABB: Arguing that Unix isn't cryptic to use because it's no harder to use than DOS really ends up damning Unix with faint praise. Whoever said that DOS was easy to use? Memorizable, sure, but hardly easy to use. The fact is that like DOS, Unix is cryptic. Anyone who has written a shell script knows what I'm talking about. Unix shell scripts can make C++ seem like a voluptuous syntax by comparison.

But Unix's cryptic command structure isn't limited to shell scripts. The whole thing hangs on a series of two- and three-letter programs and scripts that made mnemonic sense to the AT&T and Berkeley engineers and computer scientists who built the thing to begin with. What was crystal clear to those folks is about as clear as mud to today's Unix users.

LOEB: The meat of the discussion really isn't about Unix as an operating system: It's about procedural versus event-driven programming. I (like everyone else here) started out doing procedural stuff: Get some input, do a routine, output a value. What the Mac has brought to the computing table isn't really its GUI--it's the first machine to institutionalize user event-driven styles of programming. An operating system that can't handle that is a dinosaur.

I concede the Swiss Army knife utility of Unix--a tool for darn near anything. But Unix and DOS remain operating systems that are procedurally optimized. They ignore the user until the process is ready to accept input. I see the future of programming as event-driven, not procedural.

YAGER: Again, I must disagree. Unix is a multitasking system, and programs that are not written in a single thread of execution are the ones that take best advantage of resources. At the lowest level, Unix is just loaded with signals, semaphores, and other hooks that dispatch registered procedures on the occurrence of a particular event. Moving up to networking, nearly all Unix applications are event-driven. TCP/IP services are registered with a ''broker'' that dispatches requests for services to the appropriate routines.

Remote procedure calls take it even a step further, permitting a single application to publish an unlimited number of individual functions that can be called from a remote system. Then there's X Window System, but I hope I don't have to argue its event-driven aspects. The reverse of your argument is true: Unix is optimized not for single-threaded, procedural programs, but rather for event-driven programs and procedures that don't surface until some event requires their attention.

STAN MIASTKOWSKI: I always have to chuckle at the high emotions involved in the discussion of operating systems. Whenever I start to have a religious feeling about an operating system, I remember two things: 1. End users don't give a darn what operating system is running. They just want to get a job done. 2. The ''pie'' is big enough that I firmly believe that there will be a place for Unix, DOS, OS/2, Mac, and probably one or two other operating systems that haven't been invented yet.

We keep getting back to the good old American sports analogy: There must be a ''winner'' and a ''loser.'' The reality of it is that there will always be lots of winners.

Copyright 1991 McGraw-Hill, Inc.