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.18  ·  Rating details ·  1,196 ratings  ·  53 reviews
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 ...more
Paperback, 560 pages
Published September 23rd 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

Community Reviews

Showing 1-30
Average rating 4.18  · 
Rating details
 ·  1,196 ratings  ·  53 reviews

More filters
Sort order
Start your review of The Art of UNIX Programming
Manuel Antão
Nov 27, 2018 rated it it was amazing
Shelves: 2013
If you're into stuff like this, you can read the full review.

Elegance Personified: "The Art of UNIX Programming" by Eric S. Raymond

(Original Review, 2003-02-13)

My two cents on Unix, C, Gates, Ritchie, Jobs, Apple OS, Windows, C++, Objective-C, Java, BSD, ...

The toe curling pieces on Jobs were way over the top, rather like Gates, Jobs lifted a lot from other people. Ritchie and co, rather like Tim Berners-Lee, gave the computing world so much, and I do mean gave (let’s not be offensive, not equat
Christoffer Ventus
Jan 14, 2010 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
Will Semin
I wanted to love this book, but INSTEAD I just sort of liked it. The book definitely was not a bad read, but it did not fit my needs.
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
May 03, 2010 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
Dave Paola
Apr 08, 2012 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.
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.
Justin Cormack
Aug 06, 2008 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 rated it really liked it
An extended argument for the genius of UNIX.
Teodor Moroz
Sep 26, 2019 rated it liked it
The book includes an overview of core Unix principles and philosophies, such as:

Rule of modularity - write simple parts connected by clean interfaces
Rule of clarity - clarity is better than cleverness
Rule of composition - design programs to be connected with other programs
Rule of separation - separate policy from mechanism; separate interfaces from engines
Rule of simplicity - design for simplicity; add complexity only where you must
Rule of parsimony - write a big program only when it is clear by
Apr 04, 2018 rated it it was amazing
Shelves: science
An excellent book, although I think the title is badly chosen because it's a bit of a misnomer and could put people off: the title implied to me that it would be about how to code for UNIX, what it *actually* is is the philosophies and design decisions that have influenced UNIX and why they were made. I think you could read this book without being a programmer and still get something out of it, however I also think that some familiarity of common UNIX tools would help as a number of them are use ...more
Abdulfattah Popoola
Jan 02, 2019 rated it really liked it
Great book albeit quite biased against Microsoft and looks down on all other software/OSes. The last chapter offers some critical reflection on this pride.

I really enjoyed the software-related discussions on design and implementation methodologies. The talk of transparency and discoverability being critical to ease of software maturity and usage.

The book's age however shows in the dead links and outdated sections (e.g. on JavaScript, web browsers etc.).

Great read though and full of wisdom.
Aaron Dutton
Dec 24, 2019 rated it it was amazing
Shelves: on-kindle
While dated (published in 2003), this book covers a large amount of relevant history that help explain *why* Unix is the way it is.

I lived through about half the history that was covered and experienced about a decade and a half. Despite being a professional programmer for twenty years, I felt like I learned a lot from this book.

While I have heard most of the Unix programming maxims before, this book really filled in the history and reasoning behind the sayings. I think this would be a valuabl
Feb 10, 2020 rated it really liked it
There are lots of wisdom in the book, The information in the book is relevant today. The discussions about tools, such as sed, cat, awk are interesting since he says they have survived the trial of time, 17 years later and still in use. Vi and Emacs are two editors that survived the trial aswell.

In the end, the aspect of developing tools for non-developers is still a struggle today. For example, Jenkins is a high performance and the GUI leaves lots of things to wish for. Not that it was an examp
Claudio Noguera
Jun 04, 2018 rated it it was amazing
Wonderful book in my opinion. It really tells you why Unix (and Linux) are the way they are and the efforts that made it become what it is. To me, Linux is a great humanity achievement.

This book is technical without being technical, it really is about philosophy and principles rather than algorithms, syntax or other programming techniques. Could be seen as an encyclopedia.
Aug 02, 2017 rated it really liked it
A wealth of knowledge from the first UNIX epoch on a broad variety of systems analysis and design issues. The author's opinions are sometimes laid on rather thickly. ...more
Sep 25, 2017 rated it really liked it
Enjoyable insight into some history of the UNIX world.
Tomas Janousek
May 08, 2020 rated it really liked it
Shelves: e-books-owned
Even though it's dated and ESR isn't very popular these days, the book is really good. Explains a lot of concepts that many of us intuitively understand but have difficulty arguing for. ...more
Jun 07, 2020 rated it liked it  ·  review of another edition
Not exactly what I thought I was getting into, with much more discussion of the culture and history of UNIX than I expected, but nonetheless a pleasant read.
Jun 30, 2014 rated it liked it
This review has been hidden because it contains spoilers. To view it, click here.
Artem Gapchenko
The combination of threads, remote-procedure-call interfaces, and heavyweight object-oriented design is especially dangerous. Used sparingly and tastefully, any of these techniques can be valuable—but if you are ever invited onto a project that is supposed to feature all three, fleeing in terror might well be an appropriate reaction.

With the exception of rpc interfaces, that sounds an awful lot like modern-day mobile development to me, at least on Android :smile:
Sep 19, 2011 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. ...more
Nov 14, 2014 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.
Peter Haglund
Oct 13, 2007 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.
Mar 16, 2011 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!
John Lancaster
Dec 06, 2011 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.
Ondrej Sykora
Jan 28, 2012 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.
Alexander Ptakhin
Mar 14, 2014 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. ...more
Sep 02, 2014 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
« previous 1 next »
topics  posts  views  last activity   
Software Books an...: The Art of Unix Programming 6 12 May 31, 2016 02:33PM  

Readers also enjoyed

  • The C Programming Language
  • Unix Network Programming, Volume 1: Networking APIs - Sockets and XTI
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • The Practice of Programming (Addison-Wesley Professional Computing Series)
  • Advanced Programming in the UNIX Environment
  • Hackers & Painters: Big Ideas from the Computer Age
  • The Pragmatic Programmer: From Journeyman to Master
  • Modern Operating Systems
  • The Design of the UNIX Operating System
  • Code Complete
  • Machine Learning
  • The UNIX Programming Environment
  • The Protocols (TCP/IP Illustrated, Volume 1)
  • The Implementation (TCP/IP Illustrated, Volume 2)
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Clean Architecture
  • The Mythical Man-Month: Essays on Software Engineering
  • Designing Data-Intensive Applications
See similar books…

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

Related Articles

You’d never know it from reading the books listed here, but good science writing is incredibly difficult to pull off. There is both an art...
102 likes · 7 comments
“Python language is one example. As we noted above, it is also heavily used for mathematical and scientific papers, and will probably dominate that niche for some years yet. 18.3.3” 1 likes
“CSV (fields separated by commas, double quotes used to escape commas, no continuation lines) is rarely found under Unix.” 1 likes
More quotes…