The Unix System and Software Reusability

The Unix system contains a variety of facilities that enhance the reuse of software. These vary from the utterly conventional, such as function libraries, to basic architectural mechanisms, such as the Unix pipe. The Unix pipe, which makes whole programs building blocks of larger computational structures, has been the primary reason for the development of a literature of useful, but specialized programs-programs that would be too costly to write in a conventional programming language such as C. It has led to high levels of program reuse both by the nature of its operation and through its effect on programming conventions (e.g., programs structured as simple filters). Another facility enhancing reuse on Unix is the on-line C source code for Unix system programs. This has led to a shared style of programming in which existing programs are used as models for new programs, allowing the reuse of ideas, algorithms and source code. Finally, the Unix system contains many other reuse enhancing facilities, such as generic facilities for screen management (curses and termcap) and program generators (lex and yacc).

[1]  Brian W. Kernighan,et al.  The Unix Progamming Environment , 1981, Computer.

[2]  Les Ferrington,et al.  The Newcastle Connection , 1985, Microprocess. Microsystems.

[3]  Bjarne Stroustrup Adding classes to the C language: An exercise in language evolution , 1983, Softw. Pract. Exp..

[4]  S. C. Johnson,et al.  UNIX time-sharing system: Portability of c programs and the UNIX system , 1978, The Bell System Technical Journal.

[5]  S. R. Bourne Unix time-sharing system: the unix shell , 1978, The Bell System Technical Journal.

[6]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

[7]  Richard Miller UNIX: a portable operating system? , 1978, OPSR.

[8]  Brian Randell,et al.  The newcastle connection or UNIXes of the world unite! , 1982, Softw. Pract. Exp..

[9]  Stephen C. Johnson A portable compiler: theory and practice , 1978, POPL.

[10]  Marc J. Rochkind,et al.  The source code control system , 1975, IEEE Transactions on Software Engineering.

[11]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .