Buy new:
-20% $43.99
FREE delivery Saturday, October 19
Ships from: Amazon.com
Sold by: Amazon.com
$43.99 with 20 percent savings
List Price: $54.99
The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
FREE Returns
FREE delivery Saturday, October 19
Or Prime members get FREE delivery Tomorrow, October 15. Order within 9 hrs 11 mins.
Only 17 left in stock (more on the way).
$$43.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$43.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Sold by
Amazon.com
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Returns
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$32.07
Get Fast, Free Shipping with Amazon Prime FREE Returns
Good Condition. The cover shows some wear. No handwriting, highlighting or underlining. Good Condition. The cover shows some wear. No handwriting, highlighting or underlining. See less
FREE delivery Sunday, October 20 on orders shipped by Amazon over $35. Order within 15 hrs 11 mins
Only 1 left in stock - order soon.
$$43.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$43.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

The Art of UNIX Programming (The Addison-Wesley Professional Computng Series) 1st Edition

4.5 4.5 out of 5 stars 98 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$43.99","priceAmount":43.99,"currencySymbol":"$","integerValue":"43","decimalSeparator":".","fractionalValue":"99","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"XHuyBMh1N1ASd3TnFiqu8xDI6t3a0BopHPNNuGk%2Fxy%2BtaODgvIgNfe1%2BKkkfyXsqO7zwa%2Fny94T7GXZQ%2FYNqWLiakg9YxEulOHVxUvtvrNE6xertD6ESvZwtdfgBr2oB8xuZH%2BkgOgk%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$32.07","priceAmount":32.07,"currencySymbol":"$","integerValue":"32","decimalSeparator":".","fractionalValue":"07","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"XHuyBMh1N1ASd3TnFiqu8xDI6t3a0BopRQ%2BS%2FkVhW0D1wuEr%2BP1T6gZVvzBDeOfXatWbMn34N0vJJ7lHm4co7td6OvEXZ8Wrp3RnrUvFWDCpc7jxfxCC21WdQt9agRFhjPg3ICFb7OeVd1gOiECD7B4PCGrOwGJi%2B9v4qB7wpEzDRSzObkDJAg%3D%3D","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

The Art of UNIX Programming poses the belief that understanding the unwritten UNIX engineering tradition and mastering its design patterns will help programmers of all stripes to become better programmers. This book attempts to capture the engineering wisdom and design philosophy of the UNIX, Linux, and Open Source software development community as it has evolved over the past three decades, and as it is applied today by the most experienced programmers. Eric Raymond offers the next generation of "hackers" the unique opportunity to learn the connection between UNIX philosophy and practice through careful case studies of the very best UNIX/Linux programs.


Amazon First Reads | Editors' picks at exclusive prices

Frequently bought together

This item: The Art of UNIX Programming (The Addison-Wesley Professional Computng Series)
$43.99
Get it as soon as Saturday, Oct 19
Only 17 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$91.19
Get it as soon as Saturday, Oct 19
Only 1 left in stock - order soon.
Sold by avrasya25 and ships from Amazon Fulfillment.
+
$55.99
Get it as soon as Saturday, Oct 19
In Stock
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Treatment
Some of these items ship sooner than the others.
Choose items to buy together.

Editorial Reviews

Amazon.com Review

Unix ranks among the great engineering accomplishments of the last half of the twentieth century, and its heir--Linux--seems already imposing and still on its way to achieving its full potential. Eric S. Raymond argues in The Art of UNIX Programming that the excellence of Unix derives as much from the fact that it was (and continues to be) a community effort as from the fact that a lot of smart people have worked to design and build it. Raymond, best known as the author of the open-source manifesto The Cathedral and the Bazaar, says in his preface that this is a "why-to" book, rather than a "how-to" book. It aims to show new Unix programmers why they should work under the old "hacker ethic"--embracing the principles of good software design for its own sake and of code-sharing.

That said, a great deal of valuable practical information appears in this book. Very little of it is in the form of code; most of the practical material takes the form of case studies and discussions of aspects of Unix, all aimed at determining why particular design characteristics are good. In many cases, the people who did the work in the first place make guest appearances and explain their thinking--an invaluable resource. This book is for the deep-thinking software developer in Unix (and perhaps Linux in particular). It shows how to fit into the long and noble tradition, and how to make the software work right. --David Wall

Topics covered: Why Unix (the term being defined to include Linux) is the way it is, and the people who made it that way. Commentary from Ken Thompson, Steve Johnson, Brian Kernighan, and David Korn enables readers to understand the thought processes of the creators of Unix.

From the Back Cover

"Reading this book has filled a gap in my education. I feel a sense of completion, understand that UNIX is really a style of community. Now I get it, at least I get it one level deeper than I ever did before. This book came at a perfect moment for me, a moment when I shifted from visualizing programs as things to programs as the shadows cast by communities. From this perspective, Eric makes UNIX make perfect sense."
--Kent Beck, author of
Extreme Programming Explained, Test Driven Development, and Contributing to Eclipse

"A delightful, fascinating read, and the lessons in problem-solvng are essential to every programmer, on any OS."
--Bruce Eckel, author of
Thinking in Java and Thinking in C++

Writing better software: 30 years of UNIX development wisdom

In this book, five years in the making, the author encapsulates three decades of unwritten, hard-won software engineering wisdom. Raymond brings together for the first time the philosophy, design patterns, tools, culture, and traditions that make UNIX home to the world's best and most innovative software, and shows how these are carried forward in Linux and today's open-source movement. Using examples from leading open-source projects, he shows UNIX and Linux programmers how to apply this wisdom in building software that's more elegant, more portable, more reusable, and longer-lived.

Raymond incorporates commentary from thirteen UNIX pioneers:

  • Ken Thompson, the inventor of UNIX.
  • Ken Arnold, part of the group that created the 4BSD UNIX releases and co-author of The Java Programming Language.
  • Steven M. Bellovin, co-creator of Usenet and co-author of Firewalls and Internet Security.
  • Stuart Feldman, a member of the Bell Labs UNIX development group and the author of make and f77.
  • Jim Gettys and Keith Packard, principal architects of the X windowing system.
  • Steve Johnson, author of yacc and of the Portable C Compiler.
  • Brian Kernighan, co-author of The C Programming Language, The UNIX Programming Environment, The Practice of Programming, and of the awk programming language.
  • David Korn, creator of the korn shell and author of The New Korn Shell Command and Programming Language.
  • Mike Lesk, a member of the Bell Labs development group and author of the ms macro package, the tbl and refer tools,lex and UUCP.
  • Doug McIlroy, Director of the Bell Labs research group where UNIX was born and inventor of the UNIX pipe.
  • Marshall Kirk McKusick, developer of the 4.2BSD fast filesystem and a leader of the 4.3BSD and 4.4BSD teams.
  • Henry Spencer, a leader among early UNIX developers, who created getopt, the first open-source string library, and a regular-expression engine used in 4.4BSD.

Product details

  • Publisher ‏ : ‎ Addison-Wesley; 1st edition (September 23, 2003)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 560 pages
  • ISBN-10 ‏ : ‎ 0131429019
  • ISBN-13 ‏ : ‎ 978-0131429017
  • Item Weight ‏ : ‎ 1.7 pounds
  • Dimensions ‏ : ‎ 6.8 x 1.2 x 9.2 inches
  • Customer Reviews:
    4.5 4.5 out of 5 stars 98 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Eric S. Raymond
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

I design software, and I write books about software design. My software helps power pretty much every Internet-aware device you use daily - smartphones, ATMs, browsers. My books tend to have consequences and stay interesting for a long time. What I try to do is inquire deeply into timeless design patterns and the mindset that makes for great software

When I'm not writing code or books, I'm a science fiction fan, a martial artist, a firearms instructor, and a championship-level strategy gamer. I like Szechuan food, cats, and redheads. I live in Malvern, Pennsylvania with a redheaded wife and a ginger cat. You can read my personal blog at: http://esr.ibiblio.org

Customer reviews

4.5 out of 5 stars
98 global ratings

Top reviews from the United States

Reviewed in the United States on February 10, 2004
The Art of UNIX Programming is required reading for anyone involved in any form of open source IT or software development. The book contains elegant wisdom comparable to the The Cathedraland the Bazaar, RMS's GNU GPL, and any of the bantering quotes you get from Linus himself. Eric Raymond has attempted and come amazingly close to the impossible dream of capturing the logic and natural beauty of the UNIX community and philosophy. Eric discusses the ramifications of UNIX/Linux's ever changing and complex structure; in the applications, coding, and social sense. As Linus once said: "The best analogy is biological diversity. You have the Linux approach that is fairly diverse and all over the map. Maybe it is not very efficient. But it works very well in the face of complexity and changing circumstances."

The Art of UNIX Programming takes a very accurate overview snapshot of what UNIX means at the time of publishing. Although Eric is not intentionally a "big picture" kind of guy he has painstakingly gathered all the relevant information while filtering out the inane. Every UNIX padawan secretly longs to know what Eric has so benevolently written in this book through his decades of experience; they just may not know it yet.

Of course there are some stances that Eric takes where I feel he tries too hard to go for the "big picture". Such as the renouncement of the Object Oriented approach, already mentioned in other reviews. But his is not a total renouncement, and the left over renouncement is for good reason on if taken on the surface. What Eric means to express is that it is better to create a small tool in a scripting language and then perform the Object Orientation through pipes for example: ps -A grep bash less. That is similar to calling upon objects less(grep(ps(A), "bash")), as functions; or however you want to do it. If it has encapsulation, inheritance, and polymorphism then it is OO by definition.

Eric would like to live in a world with many small tools (or libraries if you will) that when combined can create something much larger in scope. The argument is akin to something like an automotive factory assembly line where everyone is atomic in understanding and performing their duties. However, when taken too far Eric's theory is akin to one thousand monkeys writing on one thousand typewriters and creating the works of Shakespeare. I'm sure there is a balance to be found in the use of UNIX tool modularity, but I do agree that UNIX has many more intertwined tools and systems than other OSes and is UNIX better off for it design wise.

Anyway, add this book to your shelf and you'll have no end of geeky philosophy to argue about with your fellow colleagues.
6 people found this helpful
Report
Reviewed in the United States on November 22, 2003
Others have found that the INTP Myers-Briggs Type Indicator is the preferred personality type for (software) architecting team membership. After I wondered how to be more "philosophical", this book helped by teaching about the Unix Zen-like philosophy. If you think this way, you should be able to improve a design.
Chapter 3 "Contracts: Comparing the Unix Philosophy with Others" starts with this quote from a Dilbert newsletter, "If you have any trouble sounding condescending, find a Unix user to show you how it's done." Nevertheless, I am more likely to be less critical and more philosophical about designs after learning about the OS designs of VMS, MacOS, OS/2, Windows NT, BeOS, MVS, VM/CMS, and Linux.
The last chapter titled "Futures: Dangers and Opportunities" summarizes the philosophical differences between operating system design in the past and in the present with Linux. By the time I got to this last chapter, I see that this book is a real eye opener and you will think "philosophically" about software designs. Understanding history does help. The next generation is thinking about usability along with the open design patterns of the OS. This is paradigm shift for Unix and Windows gurus.
Besides learning about how to think philosophically, this book is a gold mine to a software engineer. For example, chapter 2 "Basics of the Unix Philosophy" covers 17 rules on design that every software engineer needs. Additionally, chapter 16 "Reuse: On Not Reinventing the Wheel" is a hoot. Today, some professors do grade on code readability, style, and program documentation.
Chapter 14 "Languages: To C or Not To C?" is another learning experience on language choice. I cannot help but wonder if the authors are not Zen-like enough because of their love of their offspring C, when today there is a growing community using Java for embedded Linux software, because of its portability, improved memory management, and eliminated pointer security problems. Platform neutral language and OS.
Chapter 19 "Open Source: Programming in the New Unix Community", should be required reading for a software engineer. We need to learn about the open source software development process.
If there were only time, this book would make an excellent addition to a computer science OS or software engineering course. Software architects need this book. The Masters have a done a great job by contributing to this.
8 people found this helpful
Report
Reviewed in the United States on November 4, 2009
Eric S. Raymond is a controversial open source developer and evangelist.

The true is that he has a good points and ideias of how to develop using the unix pratices (eg. the practice of separation and program specialization).

I love unix (any flavor), it is by far the best operating system for a wise developers. The advice of Eric really makes sense for someone used to work with unix, and I put a lot of his advice to good use.

I recommend this book to an intermediate/advance unix programmer/analyst.
One person found this helpful
Report
Reviewed in the United States on May 13, 2004
I was able to spend a couple of months finishing this book. As soon as I finished the first chapter, I know the book would be an excellent one, and it does not disappoint me from the beginning to the end.
I have been using Unix (and its variants) for a decade amd have quite some knowledge about "how-to", but probably like most other Unix programmers, have never systematically thought about the underlying "why". This book is going to tell you both in details.
The book contains topics in software engineering / design / implementation / interface / documentation areas. They are all supported by solid examples, both success and failure stories. This makes it stand out among numerous books on similar topics. The author's concise and clear writting style is among the best I have seen in computer books (similar to Richard Stevens's famous series, if you have to make a comparison). The author apparently does not fail on me to make me a better Unix programmer.
The book is an good complementary to your library if you are a Unix programmer (it is also refreshing even if you do not program under Unix). And I'd recommend this book to everyone who starts to program under Unix or have programmed under Unix even for a long time.
18 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Giovanni
5.0 out of 5 stars Simply Fantastic
Reviewed in Italy on February 14, 2016
A true immersion in computer programming history, good software design principles, desire for modularity, reusability, "enternity".
Must read for every computer programming and system design passionate.
Mirko
5.0 out of 5 stars Ein wunderbares Buch. Ein must read für jeden Unix Liebhaber!
Reviewed in Germany on January 22, 2015
Raymond beschreibt hier die Philosophie hinter Unix an vielen Beispielen. Das Buch liegt irgendwo zwischen Saulus: A Quarter Century of UNIX und Kernighan+Pike: The Practice of Programming.
Elmout Tartanpion
5.0 out of 5 stars La culture Unix
Reviewed in France on July 2, 2013
Ce livre est une perle! A avoir obsolument dans sa bibliothèque si on est informaticien, administrateur, développeur... Ce livre prèche les bonnes pratiques pour faire un projet libre, mais aussi un projet commercial. Basé sur les expériences d'Unix et de Linux, nous sortons de cette lecture avec plein d'idée en tête... Et si on refaisait le monde à la manière d'Unix?
John Walker
5.0 out of 5 stars Brilliant
Reviewed in the United Kingdom on October 25, 2011
It has been said that anger and frustration stem from a mismatch between "one's expectations" and "reality". If things don't work the way you expect them to, then you get frustrated. So, if you come from a Windows/GUI background, Linux can be *very* frustrating because it does not work the way you'd expect.

This book explains *how* and *why* Linux behaves as it does. Thus, it re-aligns your expectations and you can begin a more harmonious relationship with that odd little penguin we call Linux.

Yes Linux. Although this book had 'UNIX' in the title, it also applies to those who wish to understand Linux.
MoQingbird
4.0 out of 5 stars good, but outdated now.
Reviewed in the United Kingdom on August 29, 2023
Good insights into the philosophy of Unix application design, but otudated nowadays.