Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!floyd!harpo!seismo!hao!hplabs!sri-unix!Mishkin@YALE.ARPA From: Mishkin@YALE.ARPA Newsgroups: net.works Subject: Unix & Workstations Message-ID: <14834@sri-arpa.UUCP> Date: Wed, 21-Dec-83 10:57:55 EST Article-I.D.: sri-arpa.14834 Posted: Wed Dec 21 10:57:55 1983 Date-Received: Sat, 24-Dec-83 10:44:52 EST Lines: 57 From: Nathaniel Mishkin I notice that several recent issues of WorkS have been filled with discussions and surveys of various Unix (4.2 and other) -based workstations. Before the notion that Unix is the best and only software for workstations becomes entrenched in the minds of the readers of this list, I'd like to suggest that people attempt to broaden their outlook when thinking about software for workstations. Unix is essentially a small-system (i.e. PDP-11) operating system whose ideas were interesting 5 or more years ago. But Unix is seriously flawed (an opaque user interface and no good tools to control the use and sharing of virtual memory are 2 of its more serious problems). When starting in the new world of workstation computing, I think we would do well to learn from the Unix experience, but not produce a copy of Unix. Yet despite its problems, Unix appears to be becoming a standard. Why? I suspect for a number of reasons. Conservatism -- despite being a high tech and rapidly evolving field, computer science (take this phrase to encompass more than academics) is filled with a large number of people who become very set in their ways very easily. I think we must work hard to overcome this tendency to ossify. Compatibility -- "everyone's using it, and I want to be able to share programs with other people". Clearly this is a desirable goal, but one that has to be put in perspective. Why aren't you using Fortran (the most compatible programming language in existence)? Presumably, because you have realized that there is a price to be paid for that level of compatibility and you are unwilling to pay it. Besides, it's not clear what "Unix compatibility" is going to mean. Already there is divergence. I suspect that within a few years the only compatibility you're going to find is between systems produced by the same company. This will be "Pascal compatibility": everyone will have realized that the base is not enough and will extend it in multiple incompatible ways. And if you think that systems hackers are the types that restrain themselves to writing in compatible subsets, I think you're wrong. The point here is that if you're choosing between a "Unix" (the mythical standard) system and a non-Unix system that supports some level of Unix emulation, don't simply assume that the emulator is in the long run going to be less compatible with "Unix"; once you've made the fair comparison, take a look at what the non-Unix system has to offer that the "Unix" system doesn't and add that into the equation. Price -- Unix is "cheap" and you get all sorts of software from other people "for free". Whenever I hear this sort of argument, I am reminded of the "Russian soldiers are 10 feet tall" argument. People "out there" (the Russian soldiers) are rarely doing such great things that importing their software is free. Too many times, I have gotten software from "out there" that doesn't really work, or doesn't really do what I want, and I realize that I would have been better off writing it myself. And if I am going to do it myself, I damn well want the best environment to do it in, not the one that is simply compatible with everyone else's.