Goodreads helps you keep track of books you want to read.
Start by marking “The Art of UNIX Programming” as Want to Read:
The Art of UNIX Programming
Enlarge cover
Rate this book
Clear rating
Open Preview

The Art of UNIX Programming

4.15  ·  Rating Details  ·  820 Ratings  ·  36 Reviews
This text reveals the software design secrets of the original Unix designers, showing how they produce software that is fast, portable, reuseable, modular and long-lived. Luminaries including Brian Kernighan, David Korn and Henry Spencer contribute to the book.
Paperback, 560 pages
Published October 3rd 2003 by Addison-Wesley Professional (first published January 1st 2003)
More Details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about The Art of UNIX Programming, please sign up.

Be the first to ask a question about The Art of UNIX Programming

The Signal and the Noise by Nate SilverThe Elements of Statistical Learning by Trevor HastieDataclysm by Christian RudderSuper Crunchers by Ian AyresMoneyball by Michael Lewis
Data Science - Learning About Data
64th out of 88 books — 41 voters
Code Complete by Steve McConnellThe Pragmatic Programmer by Andrew HuntStructure and Interpretation of Computer Programs by Harold AbelsonThe C Programming Language by Brian W. KernighanIntroduction to Algorithms by Thomas H. Cormen
To-Read for Programmers
27th out of 87 books — 1 voter

More lists with this book...

Community Reviews

(showing 1-30 of 2,055)
filter  |  sort: default (?)  |  Rating Details
Christoffer Ventus
Jan 14, 2010 Christoffer Ventus rated it really liked it
This book is about programming. Still, there is almost not a single snippet of code in this 500 page book. Instead it focuses on the philosophy that has developed within the UNIX community over the years. There is a lot of knowledge to be found here, even if you don't develop for, or even like UNIX systems. It has got comments from early UNIX hackers, even some of the original creators, which enrich the text and gives a broader perspective on things in some cases.

The fact that many sections incl
Jul 14, 2010 Jonathan rated it it was amazing
Shelves: 2010
Victory!!! I have finally completed this book. The book weighs in at just under 500 pages, but it reads much longer than that (at least for me) I don't want to imply that that is negative though, the book is wonderful, and is an absolute must read for any software developer. It just took me 3 months to read, which is significantly longer than I would have thought, or originally wanted.

This book does a very good job of explaining the culture and history of unix, but all of those cultural and hist
Erika RS
Good book. There were a lot of things in here that I've felt for a long time but was not sure how to explain. For example, the discussion of why config files should be human readable made me realize why I was so opposed to an advisor's suggestion that our config file be a giant ugly s-expression on a project I did last year; it also made me realize why I felt that the backend for that project should use sockets to communicate with the GUI (because it encourages modularity, keeps GUI code out of ...more
Dave Paola
Feb 07, 2015 Dave Paola rated it it was amazing
The history section alone is worth it. Nathan Marz's mantra of "first make it possible, then make it beautiful, then make it fast" clearly were taken from this philosophy. A nearly identical mantra is stated in the first pages of this book.

History is doomed to repeat itself.

I first read the chapter on Textuality, and have since gone back and started from the beginning. So far this book is excellent.
Justin Cormack
Aug 06, 2008 Justin Cormack rated it really liked it
Shelves: programming
Curiously Raymond managed not to read Gancarz's classic The Unix Philiosophy while writing this. It doesnt cover quite the same ground, and is much less concise. Its bigger on scripting languages and other more recent developments.

Jay Bhattacharya
Aug 23, 2009 Jay Bhattacharya rated it really liked it
An extended argument for the genius of UNIX.
Jun 30, 2014 Brandur rated it liked it
This review has been hidden because it contains spoilers. To view it, click here.
Ajitabh Pandey
This book is more about the learnings/lessons from Unix world. Mostly historical descriptions and why certain choices were made by Unix and how they were revolutionary as compared to other operating systems. Lots of practice case studies are included wherein how and why certain choices were made by certain popular programs were made.

A very quick read for me - more of like a refresher -as I was already well versed with the historical developments.
John Davis
Mar 19, 2016 John Davis rated it really liked it
Shelves: partly-read, work
Reading this from ESR's website as a CS undergrad was a formative experience. It is true that the world has moved on in many respects since this was written, but I enjoyed the historical context nonetheless, and have been arguing for human-readable formats ever since (performance be damned).
Abhinav Kshitij
Apr 01, 2016 Abhinav Kshitij rated it it was amazing
Clear language and thought process. Well written and presented. Includes relevant examples. Organization and chapter layout is non-sequential, thus making book navigation easy and quick to refer. Excellent guide.
Jeongseok Son
Feb 05, 2014 Jeongseok Son rated it really liked it
Textuality, Do-one-thing-well, Cheap process-spawning cost, Opensource ...

커널 소스 한줄 더 보려고 노력하는 것보다도 수많은 OS 중 Unix(Linux)가 지금까지 살아남아 더 번성하게 된 배경과 그 철학을 이해하는 게 우선이다. 다소 편향적이긴 하지만 두번 정도는 더 읽어봐야 될 거 같다.
James Jandebeur
The book would receive a higher rating had the author not stooped to proselytizing. It is reasonably informative, however.
Jan 28, 2016 Simon rated it liked it
Some concepts and ideas are outdated in 2016, making sections of the books irrelevant. Still, the books provides a valuable historical context to the development of Unix and its open source spirituals descendants (Linux, FreeBSD, etc.)
Nov 30, 2014 Gwern rated it liked it  ·  review of another edition
(Read online version.)

Not bad, but more than enough dated at this point (finished in 2004 and most of it is more relevant to before then) that I'm not sure how much is worth reading. The CLI material is as worthwhile as ever, but the GUI parts are totally obsolete. The case studies are also rather too brief.
Sep 19, 2011 Rembo666 rated it it was amazing
This is an awesome book and it will make you question your approach to coding. I'm not saying that it changed my mind about OOP or writing integrated applications, but it did influence me. This is a well-written book seemingly written by a "grumpy old man", but I feel that it gave me a lot of perspective I wouldn't have had otherwise.
Ondrej Sykora
Jan 28, 2012 Ondrej Sykora rated it it was amazing
You might or might not like Eric Raymond, but that does not make this book any worse. This is a nice summary of the basic principles of the design of Unix and Unix applications, but most of the advice presented there is not limited to a single operating system or a single type of applications.
Apr 04, 2013 Ramesh rated it it was amazing
Knowing merely the programming tools, languages and utilities in Unix is not sufficient. Unix is a culture and to really exploit it, requires a Unix mind-set. Embrace the culture! Live the culture!

This is a MUST-READ book for anyone who is serious in a career based on Unix!
Jun 03, 2015 Victor rated it really liked it
Shelves: computer-science
Even though the book is the Art of UNIX programming, this is not a text about programming, but about the philosophy of the UNIX/LINUX OS, their history, architecture, main tools, their principles... Good to read it in case you are a user of LINUX
Alexander Ptakhin
Jun 21, 2014 Alexander Ptakhin rated it really liked it
Shelves: prog
Smart people can be wrong in the details, but not in general. It's not so easy to follow simply formulated UNIX philosophy, but surely required for real programs, that have not to rewrite from scratch, but evolve through ages.
Alexander Tarmolov
Jan 05, 2014 Alexander Tarmolov rated it really liked it
Shelves: development
Hard to read but useful anyway.
John Lancaster
Jan 02, 2012 John Lancaster rated it it was amazing
Took me a while to finish, but very worth it. Great explanation of unix culture, practices, and history. Lots of information to digest but will serve as a good reference for my projects moving forward in the open source world.
Peter Haglund
Oct 13, 2007 Peter Haglund rated it liked it
While suffering from having no residential Internet access for eight days, I did a lot of things in order to kill time. One such thing was reading this book which has been sitting on my shelf for eons.
Joe Vaughn
Dec 21, 2007 Joe Vaughn rated it liked it
A fine book, but ESR, being ESR always dances on the edge of turning a good, informational read into a polemic. However, who am I to critise the man who crunches C for breakfast?
Feb 12, 2015 Kirill rated it liked it
Shelves: dropbox
The book is good, but written in a manner that does not really impress me. Apart from that there are many interesting facts and thought-provoking ideas in the book.
Mar 24, 2013 Libin rated it really liked it
Shelves: computer, program
I learned about history,free/open software movement, lisences, lores. pretty good to know that, however, after 10 years it appears a little outdated.
Mar 20, 2013 Hesse rated it liked it
Algo arcaico. Interesante para los amantes de Unix / Linux. Tiene conceptos útiles a la hora de programar (y entender Unix).
Apr 07, 2011 Alexander rated it really liked it
It got me at the beginning. It gave very good advice… but the latter chapters where a little bit boring.
Apr 17, 2013 Jianwei rated it it was amazing
Nice book , this book contains almost eveything about UNIX,a perfext beginner's guide book!
Dec 30, 2012 Andrew rated it really liked it
An enlightening walk through the history and conventions of Unix. All devs should read.
« previous 1 3 4 5 6 7 8 9 68 69 next »
topics  posts  views  last activity   
Software Books an...: The Art of Unix Programming 6 5 May 31, 2016 02:33PM  
  • Advanced Programming in the UNIX Environment
  • The Practice of Programming
  • Purely Functional Data Structures
  • Linux Kernel Development
  • Programming Pearls
  • Understanding the Linux Kernel
  • Modern C++ Design: Generic Programming and Design Patterns Applied
  • Compilers: Principles, Techniques, and Tools
  • Mastering Regular Expressions
  • The Little Schemer
  • The Design of the UNIX Operating System
  • Smalltalk Best Practice Patterns
  • Masterminds of Programming: Conversations with the Creators of Major Programming Languages
  • Concepts, Techniques, and Models of Computer Programming
  • The Art of Computer Programming, Volumes 1-4a Boxed Set
  • ANSI Common Lisp
  • Learning the bash Shell
  • UNIX Power Tools

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Eric S. Raymond is an observer-participant anthropologist in the Internet hacker culture. His research has helped explain the decentralized open-source model of software development that has proven so effective in the evolution of the Internet. Mr. Raymond is also a science fiction fan, a musician, an activist for the First and Second Amendments, and a martial artist with a Black Belt in Tae Kwon ...more
More about Eric S. Raymond...

Share This Book

“Transparency is therefore more than an esthetic triumph; it is a victory that will be reflected in lower costs throughout the software’s life cycle. 6.2.2” 1 likes
“When you see the right thing, do it—this may look like more work in the short term, but it’s the path of least effort in the long run. If you don’t know what the right thing is, do the minimum necessary to get the job done, at least until you figure out what the right thing is. To do the Unix philosophy right, you have to be loyal to excellence. You have to believe that software design is a craft worth all the intelligence, creativity, and passion you can muster. Otherwise you won’t look past the easy, stereotyped ways of approaching design and implementation; you’ll rush into coding when you should be thinking. You’ll carelessly complicate when you should be relentlessly simplifying—and then you’ll wonder why your code bloats and debugging is so hard.” 0 likes
More quotes…