The Art of Unix Programming
Encyclopedia
The Art of Unix Programming by Eric S. Raymond
is a book about the history and culture of Unix
programming
from its earliest days in 1969 to 2003 when it was published, covering both genetic derivations such as BSD and conceptual ones such as Linux
.
The author utilizes a comparative approach to explaining Unix by contrasting it to other operating system
s including desktop-oriented ones such as Microsoft Windows
and Mac OS
to ones with research roots such as EROS
and Plan 9 from Bell Labs
.
The book was published by Addison-Wesley, September 17, 2003, ISBN 0-13-142901-9 and is also available online, under a Creative Commons
license with additional clauses.
Eric S. Raymond
Eric Steven Raymond , often referred to as ESR, is an American computer programmer, author and open source software advocate. After the 1997 publication of The Cathedral and the Bazaar, Raymond was for a number of years frequently quoted as an unofficial spokesman for the open source movement...
is a book about the history and culture of Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
programming
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...
from its earliest days in 1969 to 2003 when it was published, covering both genetic derivations such as BSD and conceptual ones such as Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
.
The author utilizes a comparative approach to explaining Unix by contrasting it to other operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s including desktop-oriented ones such as Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
and Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
to ones with research roots such as EROS
Extremely Reliable Operating System
EROS is an operating system developed by The EROS Group, LLC., the Johns Hopkins University, and the University of Pennsylvania. Features include automatic data and process persistence, some preliminary real-time support, and capability-based security. EROS is purely a research operating system,...
and Plan 9 from Bell Labs
Plan 9 from Bell Labs
Plan 9 from Bell Labs is a distributed operating system. It was developed primarily for research purposes as the successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002...
.
The book was published by Addison-Wesley, September 17, 2003, ISBN 0-13-142901-9 and is also available online, under a Creative Commons
Creative Commons
Creative Commons is a non-profit organization headquartered in Mountain View, California, United States devoted to expanding the range of creative works available for others to build upon legally and to share. The organization has released several copyright-licenses known as Creative Commons...
license with additional clauses.
Contributors
The book contains many contributions, quotations and comments from UNIX gurus past and present. These include:- Ken ArnoldKen ArnoldKenneth Cutts Richard Cabot Arnold is an American computer programmer well known as one of the developers of the 1980s dungeon-crawling computer game Rogue, for his contributions to the original Berkeley distribution of Unix, for his books and articles about C and C++ Kenneth Cutts Richard Cabot ...
(author of cursesCurses (programming library)curses is a terminal control library for Unix-like systems, enabling the construction of text user interface applications.The name is a pun on the term “cursor optimization”. It is a library of functions that manage an application's display on character-cell terminals .- Overview :The curses API...
and RogueRogue (computer game)Rogue is a dungeon crawling video game first developed by Michael Toy and Glenn Wichman around 1980. It was a favorite on college Unix systems in the early to mid-1980s, in part due to the procedural generation of game content. Rogue popularized dungeon crawling as a video game trope, leading...
) - Steve Bellovin
- Stuart FeldmanStuart FeldmanStuart Feldman received an A.B. in astrophysical sciences from Princeton University and a Ph.D in applied mathematics from the Massachusetts Institute of Technology. He is best known as the creator of the computer software program make for UNIX systems...
- Jim GettysJim GettysJim Gettys is an American computer programmer at Alcatel-Lucent Bell Labs, USA. Until January 2009, he was the Vice President of Software at the One Laptop per Child project, working on the software for the OLPC XO-1. He is one of the original developers of the X Window System at MIT and worked on...
- Stephen C. JohnsonStephen C. JohnsonStephen Curtis Johnson spent nearly 20 years at Bell Labs and AT&T where he wrote yacc, lint, spell and the Portable C Compiler machine .Johnson earned his PhD in mathematics but has spent his entire career in computer science...
- Brian KernighanBrian KernighanBrian Wilson Kernighan is a Canadian computer scientist who worked at Bell Labs alongside Unix creators Ken Thompson and Dennis Ritchie and contributed to the development of Unix. He is also coauthor of the AWK and AMPL programming languages. The 'K' of K&R C and the 'K' in AWK both stand for...
- David Korn
- Mike LeskMike LeskMichael E. Lesk is a computer programmer.In the 1960s, Michael Lesk worked for the SMART Information Retrieval System project, wrote much of its retrieval code and did many of the retrieval experiments, as well as obtaining a PhD in Chemical Physics....
- Doug McIlroy
- Marshall Kirk McKusickMarshall Kirk McKusickMarshall Kirk McKusick is a computer scientist, known for his extensive work on BSD, from the 1980s to FreeBSD in the present day. He was president of the USENIX Association from 1990 to 1992 and again from 2002 to 2004, and still serves on the board. He is also on the editorial board of...
- Keith PackardKeith PackardKeith Packard is a software developer, best known for his work on the X Window System.Packard is responsible for many X extensions and technical papers on X...
- Henry SpencerHenry SpencerHenry Spencer is a Canadian computer programmer and space enthusiast. He wrote "regex", a widely-used software library for regular expressions, and co-wrote C News, a Usenet server program. He also authored The Ten Commandments for C Programmers. He is coauthor, with David Lawrence, of the book...