Many, if not most, UNIX* systems are dedicated to specific projects and serve small, cohesive groups of (usually technically oriented) users. The Programmer's Workbench UNIX system (PWBIUNlX for short) is a facility based on the UNIX system that serves as a large, general-purpose, "util ity" computing service. It provides a convenient working environment and a uniform set of programming tools to a very diverse group of users. The PWBIUNlX system has several interesting characteristics:(i) Many of its facilities were built in close cooperation between developers and users.(ii) It has proven itself to be sufficiently reliable so that its users, who develop production software, have abandoned punched cards, private backup tapes, etc. (iii) It offers a large number of simple, understandable programdevelopment tools that can be combined in a varie/y of ways; users "package " these tools to create their own specialized environments. (iv) Most importantly, the above were achieved without compromising the basic elegance, simplicity, generality, and ease of use of the UNIX system.The result has been an environment that helps large numbers of users to get their work done, that improves their productivity, that adapts quickly to their individual needs, and that provides reliable service at a relatively low cost. This paper discusses some of the problems we encountered in building the PWBIUNlX system, how we solved them, how our system is used, and some of the lessons we learned in the process.' UNIX is a trademark of Bell Laboratories.
2177