# PWB/UNIX

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/PWB/UNIX
> Markdown URL: https://mediated.wiki/source/PWB/UNIX.md
> Source: https://en.wikipedia.org/wiki/PWB%2FUNIX
> Source revision: 1301359639
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

The **Programmer's Workbench** (**PWB/UNIX**) was an early, now discontinued, version of the [Unix](/source/Unix) [operating system](/source/Operating_system) that had been created in the [Bell Labs](/source/Bell_Labs) Computer Science Research Group of [AT&T](/source/AT%26T_Corporation). Its stated goal was to provide a [time-sharing](/source/Time-sharing) working environment for large groups of programmers, writing software for larger [batch processing](/source/Batch_processing) computers.[1]

Prior to 1973 Unix development at AT&T was a project of a small group of researchers in Department 1127 of [Bell Labs](/source/Bell_Labs). As the usefulness of Unix in other departments of Bell Labs was evident, the company decided to develop a version of Unix tailored to support programmers in production work, not just research. The Programmer's Workbench was started in 1973,[2] by Evan Ivie and [Rudd Canaday](/source/Rudd_Canaday) to support a computer center for a 1000-employee Bell Labs division, which would be the largest Unix site for several years. PWB/UNIX was to provide tools for teams of programmers to manage their [source code](/source/Source_code) and collaborate on projects with other team members. It also introduced several stability improvements beyond Research Unix,[3] and broadened usage of the Research [nroff](/source/Nroff) and [troff](/source/Troff) text formatters,[4] via efforts with Bell Labs typing pools that led to the -mm macros.

While PWB users managed their source code on [PDP-11](/source/PDP-11) Unix systems, programs were often written to run on other operating systems. For this reason, PWB included software for submitting jobs to [IBM](/source/IBM) [System/370](/source/System/370), [UNIVAC 1100 series](/source/UNIVAC_1100/2200_series), and [SDS](/source/Scientific_Data_Systems) [Sigma 5](/source/SDS_Sigma_5) computers. In 1977 PWB supported a user community of about 1100 users in the Business Information Systems Programs (BISP) group of Bell Labs.[3][4]

Two major releases of Programmer's Workbench were produced. PWB/UNIX 1.0, released July 1, 1977 was based on [Version 6 Unix](/source/Version_6_Unix); PWB 2.0 was based on [Version 7 Unix](/source/Version_7_Unix). The operating system was advertised by Bell System Software as late as 1981[5] and edition 1.0 was still on an AT&T price list for educational institutions in 1984.[6] Most of PWB/UNIX was later incorporated in the commercial [UNIX System III](/source/UNIX_System_III) and [UNIX System V](/source/UNIX_System_V) releases.

## Features

Notable firsts in PWB include:

- The [Source Code Control System](/source/Source_Code_Control_System), the first UNIX [revision control](/source/Revision_control) system, written by [Marc J. Rochkind](/source/Marc_Rochkind)
- The [remote job entry](/source/Remote_job_entry) batch-submission system
- The [PWB shell](/source/PWB_shell), written by [John R. Mashey](/source/John_R._Mashey), which preceded [Steve Bourne](/source/Stephen_R._Bourne)'s [Bourne shell](/source/Bourne_shell)
- The restricted shell (*rsh*), an option of the PWB shell, used to create widely-available logins for status-checking, trouble-reporting, but made safe by restricting commands
- The [troff](/source/Troff) *-mm* (memorandum) macro package, written by John R. Mashey and Dale W. Smith
- Utilities like [find](/source/Find_(Unix)), [cpio](/source/Cpio), [expr](/source/Expr), all three written by Dick Haight, [xargs](/source/Xargs), [egrep](/source/Grep#Implementations) and fgrep
- [yacc](/source/Yacc) and [lex](/source/Lex_programming_tool), which, though not written specifically for PWB, were available outside of Bell Labs for the first time in the PWB distribution

## See also

- [Research Unix](/source/Research_Unix)
- [Writer's Workbench](/source/Writer's_Workbench) ("WWB")

## References

1. T.A. Dolotta & J.R. Mashey (1976). *An introduction to the Programmer's Workbench*. Proc. 2nd Int'l Conf. on Software Engineering. pp. 164–168.

1. John R. Mashey (2004). [Languages, Levels, Libraries, and Longevity](http://queue.acm.org/detail.cfm?id=1039532) [Archived](https://web.archive.org/web/20090430161952/http://queue.acm.org/detail.cfm?id=1039532) 2009-04-30 at the Wayback Machine. ACM Queue **2** (9).

1. T.A. Dolotta; R.C. Haight; J.R. Mashey (1978), ["Unix Time-Sharing System: The Programmer's Workbench"](https://ghostarchive.org/archive/20221009/http://www.alcatel-lucent.com/bstj/vol57-1978/articles/bstj57-6-2177.pdf), *Bell System Tech. J.*. **57** (6): 2177–2200, [doi:10.1002/j.1538-7305.1978.tb02148.x](https://doi.org/10.1002/j.1538-7305.1978.tb02148.x). [S2CID 21869088](https://api.semanticscholar.org/CorpusID:21869088), archived from [the original](http://www.alcatel-lucent.com/bstj/vol57-1978/articles/bstj57-6-2177.pdf) on 2022-10-09, retrieved 2012-12-14

1. Fiedler, Ryan (October 1983). ["The Unix Tutorial / Part 3: Unix in the Microcomputer Marketplace"](https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n133/mode/2up). *BYTE*. p. 132. Retrieved 30 January 2015.

1. Dennis M. Ritchie. ["Unix Advertising"](https://archive.today/20130102004255/http://cm.bell-labs.com/cm/cs/who/dmr/unixad.html). *former Bell Labs Computing and Mathematical Sciences Research*. Archived from [the original](http://cm.bell-labs.com/cm/cs/who/dmr/unixad.html) on 2 January 2013. Retrieved 17 February 2014.

1. ["Software List for UNIX System V"](https://www.bell-labs.com/usr/dmr/www/licenses/acprice83.pdf). 1 September 1983. [Archived](https://web.archive.org/web/20150611114528/https://www.bell-labs.com/usr/dmr/www/licenses/acprice83.pdf) 11 June 2015 at the Wayback Machine. Retrieved 27 April 2014.

## External links

- Ivie, Evan L. (October 1977), "The Programmer's Workbench — A Machine for Software Development", *Communications of the ACM*. **20** (10): 746–753, [CACM](/source/Communications_of_the_ACM), [doi:10.1145/359842.359856](https://doi.org/10.1145/359842.359856). [S2CID 17647129](https://api.semanticscholar.org/CorpusID:17647129)
- [Unix ad mentioning PWB](http://www.bell-labs.com/usr/dmr/www/unixad.html) [Archived](https://web.archive.org/web/20160103172029/http://www.bell-labs.com/usr/dmr/www/unixad.html) 2016-01-03 at the Wayback Machine, from a 1981 issue of [Datamation](/source/Datamation) (on [Dennis Ritchie](/source/Dennis_Ritchie)'s homepage)
- [PWB distributions](https://web.archive.org/web/20060924132637/http://www.tuhs.org/Archive/PDP-11/Distributions/usdl/), from the Ancient UNIX Archive

---
Adapted from the Wikipedia article [PWB/UNIX](https://en.wikipedia.org/wiki/PWB%2FUNIX) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/PWB%2FUNIX?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
