
The art of UNIX programming
by Eric S. Raymond · first published 2003
54% recommend42% neutral4% critical
Why HN recommends it
Lays out the Unix philosophy: plain text, small composable tools, and CLI conventions, with worked examples such as the editors chapter. Suits developers who want to learn how Unix people design software.
Summarised by Claude from recommending comments
The Art of Unix Programming attempts to capture the engineering wisdom and philosophy of the Unix community as it's applied today — not merely as it has been written down in the past, but as a living "special transmission, outside the scriptures" passed from guru to guru. Accordingly, the book doesn't focus so much on "what" as on "why", showing the connection between Unix philosophy and practice through case studies in widely available open-source software. [Authors Site][1] [1]: http://catb.org/~esr/writings/taoup/
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








…Design and Implementation of the 4.4 FreeBSD Operating System - McKusick, Bostic, Karels, Quarterman The Design of the Unix Operating System - Bach The Unix Programming Environment - Kernighan, Pike The Art of Unix Programming - Raymond Godel, Escher, Bach - Hofstadter Metamagical Themas - Hofstadter Joel on Software - Spolsky Code Complete - McConneli The Mythical Man-Month - Brooks No Silver Bullet - Brooks The Long…
on “ASK HN: Hacker Bibles” ↗Books I'll treasure forever: - Advanced Programming in the Unix Environment by Stevens - Operating Systems: Design and Implementation by Tanenbaum - The Art of Unix Programming by ESR - Parsing Techniques by Grune and Jacobs - Applied Cryptography by Schneier
on “Ask HN: What language-agnostic programming books should I read?” ↗…The unix programming environment 2) The design of the unix operating system 3) The Pragmatic Programmer 4) Programming Pearls 5) Computer Systems: A Programmers Prespective 6) K & R C 7) The art of Unix Programming. PS: I admit my bias towards systems.
on “Ask HN: Books you should have read when you start a career in SE / CS?” ↗…relevant Java library out there to help. > Design applications as small executables that communicate. Yes! I've gotten a lot of mileage out of this. Many would to well to read Eric Raymond's book: "The Art of Unix Programming". The only thing I'd like a better solution for is a nice mechanism to set-up and configure the deployment of said "small executables that communicate". I'd like programming to be as easy as building…
on “Programming Modern Systems Like It Was 1984” ↗…between complexity in data structures and complexity in code, choose the former. More: in evolving a design, you should actively seek ways to shift complexity from code to data. --- Eric Raymond, The Art of Unix Programming (http://www.faqs.org/docs/artu/ch01s06.html#id2878263). See also ch. 9 (http://www.faqs.org/docs/artu/generationchapter.html)
on “Programmers who want to change how we code before catastrophe strikes” ↗…that's necessarily a bad thing. Just saying. Use the right tool for the job. In some cases (not all) the shell is indeed the right tool. I get a feeling you don't understand the Unix philosophy. Read The Art of Unix Programming by Eric S. Raymond. Go learn bitwise arithmetic. The uneducated play with pictures. Educated people read and write :) Have a great day (or night, depending on your timezone — night here).
on “Cheating at a company group activity using Unix tools” ↗Here are some suggestions. - Designing Data Driven Applications - Kleppmann - The Art of Unix Programming - Raymond - Pretty much any of the programming books published by No Starch Press And more pieces of advice. 1) Learn SQL. I mean really, really learn SQL. And then learn the basics of how relational…
on “Ask HN: Good books that have documented software development wisdom of years?” ↗Also, you can see most of these criticisms handled quite impartially in Eric Raymond's "The Art of Unix Programming," which I'd say is required reading for any would-be "hacker."
on “10 Things I Hate About (U)NIX” ↗…bought the book used for a couple bucks.) There are also "User's Supplementary Documents" (USD) and System Manager's Manual (SMM) collections, with papers on configuring sendmail, using vi, etc. 5. _The Art of Unix Programming_ by Eric S. Raymond - I recommend this one in spite of finding ESR incredibly irritating. It's a very good conceptual overview of the big design ideas in Unix and their ramifications, albeit one interspersed…
on “* is Unix” ↗…and burned a lot of time. And maybe actually did produce something new along the way. But basically... nothing new. Skepticism is king. TL;DR? That's sad because I can't them recommend that you try The Art of UNIX Programming or any tome on code generation. But I hope you do. Also, take a tip and don't aim for fame "One day I hope you won't need to look me up to find out who I am" (puh-lease!) ... we were all 18 once.
on “Evernote Gets $50 Million in Funding” ↗…for regular expressions), and, as a bonus, is easy for humans to look at. HTML helps with exactly none of those things. There's a reason that Erik S. Raymond emphasizes the power of plain text in The Art of Unix Programming. There's a reason that The Pragmatic Programmer has a chapter devoted to it. That's because plain text (more specifically plain ASCII text) is the closest thing we have to a universally understood format…
on “This is the mail system” ↗I'm almost finished with "The Art of Unix Programming" by Eric Raymond, and I have to say, I wish I would've read it years ago. We constantly, I mean constantly reinvent things. Not just tools, but techniques and patterns. I'd love to talk to some older…
on “Old Farts Know How to Code” ↗Glad it was helpful. If you want to see why Unix programmers scoff at OOP, I recommend "The Art of Unix Programming" by Eric Raymond. OOP advocates threw around words like modularity and encapsulation and a lot. But nobody told programmers that Java and C++ have much worse modularity and encapsulation properties…
on “Rob Pike on Object Oriented programming” ↗…Spencer's aphorism, "Those who don't understand Unix are condemned to reinvent it, poorly." People who think Unix got it all wrong, as opposed to merely having assorted warts, should read Raymond's "Art of Unix Programming". I was more than a little startled that Raymond captured a lot of the truth of the subject; it's a good read, and can potentially make anyone a better programmer. Edit: a more concise starting point:…
on “Simple Dynamic Strings library for C” ↗Eric S. Raymond wrote a book The Art of Unix Programming [1] that has many "case studies" as well as recommendations of which software/RFCs are particularly worthy of study. [1] http://www.faqs.org/docs/artu/
on “Ask HN: What source code is worth studying? ” ↗