
The Art of Unix Programming - aycangulez
http://www.catb.org/~esr/writings/taoup/
======
4ad
To be honest, I find The Unix Programming Environment by Brian W. Kernighan
and Rob Pike much, much better. The book truly captures the Unix philosophy
and teaches you the idioms. It's unsurprisingly since it comes from the
original Bell Labs Computing Sciences Research Center and the authors are
extraordinary technical writers.

~~~
gonzo
Kernigan and Pike are stars. Esr can't cose his way out of a paper bag.

~~~
gonzo
downvote me all you like, but read this, first:

[http://web.archive.org/web/20080621090439/http://esr.1access...](http://web.archive.org/web/20080621090439/http://esr.1accesshost.com/)

------
chubot
This is an excellent book and the one that made me truly "get" the philosophy
of Unix (e.g. using multiple processes, data over code, OOP is not the end-all
be-all of abstraction, etc.)

Apparently ESR pissed a lot of people off, but that doesn't make the book bad
-- it is truly excellent, and contains material you won't find anywhere else
(really). Yes I can see from his writing style why people are irritated, but
it actually helps the clarity of the book, oddly.

Those recommending the Unix Programming Environment must not have read this
book -- they're missing the fact it covers completely different subject
matter. Neither substitutes for the other.

Compare the TOC:

[http://www.pearsonhighered.com/educator/product/The-UNIX-
Pro...](http://www.pearsonhighered.com/educator/product/The-UNIX-Programming-
Environment/9780139376818.page)

<http://www.catb.org/~esr/writings/taoup/html/>

~~~
sounds
I'm just throwing out a quote to show why I enjoyed the book.

"""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."""

(from the end of Chapter 1)

~~~
Confusion
This seems hard to reconcile with the commonly accepted notion that unix is an
example of 'worse is better'.

~~~
Drbble
'Worse is better' means that simple and quick to market but flawed is better
than complex and correct but slow to market. 'Complicated and flawed' has no
place in that debate.

------
statictype
I'm surprised this hasn't been submitted before. It's been around for quite
some time now.

Regardless of what you think of ESR's personality, politics or hacking skills,
I found this to be a pretty good read.

There's lots of good things in here that apply - not just to software written
for Unix systems - but for software in general (I guess it's not really a
coincidence that a lot of the good practices on Unix are good practices in
general).

 _Edit_ : Joel Spolsky's take on it:
<http://www.joelonsoftware.com/articles/Biculturalism.html>

~~~
kiba
_Regardless of what you think of ESR's personality, politics or hacking
skills, I found this to be a pretty good read._

If ESR can write a really good software development book, why do some people
thinks ESR can't code a damn?

~~~
statictype
Well, it's not so much that he can't write code (he can) but more that he
markets his hacking skills to an extent greater than what his open source
software indicates.

He compares himself to Stallman and Torvalds without having anything nearly as
impressive as an OS kernel, C compiler or debugger.

I will say though, that he's good at introspecting on code and articulating
points about programs better than most (hence the high quality of the book)

~~~
philh
> He compares himself to Stallman and Torvalds without having anything nearly
> as impressive as an OS kernel, C compiler or debugger.

Does he compare his hacking abilities to Stallman and Torvalds?

My impression is that he considers himself a tribal elder, and compares
himself to Stallman and Torvalds in that respect. But that's not quite the
same.

~~~
glhaynes
I think that's a big part of it right there: people tend to resent self-
proclaimed tribal leaders.

------
akg
His essay on enterprise vs. free approaches to development titled The
Cathedral and the Bazaar is also an interesting read and provides some
interesting insights behind the unix philosophy:
<http://catb.org/~esr/writings/homesteading/cathedral-bazaar/>

~~~
neilk
Just realize that it's one guy's take on open source software. He's not more
authoritative than anybody else.

The essay became important because it was written at the right time, and
because ESR decided to take a role as an advocate to industry. Not really due
to its quality.

------
spiralpolitik
It's a good book to read, but not in anyway essential or required reading and
its badly mis-titled as it contains very little discussion on actual UNIX
programming.

The main issue I had with the book was that ESR seem to conveniently decided
that the only post 1995 UNIX worth talking about is Linux, largely ignoring
the *BSDs and OS Xs of the world. The later sections on licences seems out of
place and drift a little bit too far into Open Source dogma for my tastes.

In summary its a bit of a curates egg as it seems to be a bunch of separate
essay's that ESR has tried to jam together under a single topic that don't
quite fit together.

~~~
jonsen
_...its badly mis-titled as it contains very little discussion on actual UNIX
programming._

A minor edit would fix it: The Art around Unix Programming

------
Mithrandir
PDF:
[http://www.catb.org/~esr/writings/taoup/html/graphics/taoup....](http://www.catb.org/~esr/writings/taoup/html/graphics/taoup.pdf)

Google Docs:
[https://docs.google.com/open?id=0B0Sn3y3wtPtNMWQ5OTk4YmYtNjV...](https://docs.google.com/open?id=0B0Sn3y3wtPtNMWQ5OTk4YmYtNjVmZi00NmYxLTg4ZDMtMzI5MTJlYjhiZjA5)

~~~
aynonemuss
Anyone have a link to better PDFs where the images fit on the pages? E.g. Fig
6.2 on page 170.

------
DodgyEggplant
Joel Spolsky take on it
<http://www.joelonsoftware.com/articles/Biculturalism.html>

------
ramses0
I referenced the above article in a blog post not too terribly long ago.

[http://www.robertames.com/blog.cgi/entries/the-unix-way-
comm...](http://www.robertames.com/blog.cgi/entries/the-unix-way-command-line-
arguments-options.html)

"How to be unix-y in eleventy billion steps"

------
internatter
esr is a complete idiot fyi

why would you read a book about unix programming from someone who never wrote
a unix program that was worth a crap?

read the unix programming environment instead.

~~~
hack_edu
FYI, people would upvote you if your tone was a little less harsh.

------
anantzoid
Why isn't this free?

~~~
Sodel
Hm? The first line on that page links to the book, posted online for free. The
whole book is under a Creative Commons license.

~~~
gonzo
But the source to it is not available

