5 ms·
The Art of Unix Programming
- statictype 15y agoI'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 http://www.joelonsoftware.com/articles/Biculturalism.html
- kiba 15y agoRegardless 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?
- stargazer83 15y agoI haven't found a single mention about him not being a good developer. Do we have any references?
- mgedmin 15y agoHave you ever seen the fetchmail source code?
- pja 15y agoMy brain is still trying to recover from that particular experience.
- geoka9 15y agoWhy, what's wrong with it?
- gonzo 15y agohttp://pyropus.ca/software/getmail/faq.html#faq-about-why http://pyropus.ca/software/getmail/faq.html#faq-about-why http://docs.freebsd.org/cgi/getmsg.cgi?fetch=585008+0+archive/2001/freebsd-arch/20010218.freebsd-arch http://docs.freebsd.org/cgi/getmsg.cgi?fetch=585008+0+archiv... http://www.fetchmail.info/design-notes.html http://www.fetchmail.info/design-notes.html
- deleted 15y ago[deleted]
- 16s 15y agoDidn't he take that over from someone else? Edit: Yes, it was written by a guy named Carl Harris and ESR took it over when Harris no longer wished to maintain it: http://en.wikipedia.org/wiki/Fetchmail http://en.wikipedia.org/wiki/Fetchmail
- statictype 15y agoWell, there's this: http://news.ycombinator.com/item?id=923775 http://news.ycombinator.com/item?id=923775 But my point was not so much that he's a bad developer but that his software resume is not as impressive as those he compares himself to.
- statictype 15y agoWell, 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 15y ago> 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 15y agoI think that's a big part of it right there: people tend to resent self-proclaimed tribal leaders.
- zhemao 15y agoI'm pretty sure he has worked on compilers and OS kernels. They just weren't as popular as GCC or Linux. I don't think judging one's programming skill based on the popularity of one's projects is rather fair.
- deleted 15y ago[deleted]
- tptacek 15y agoPeople who can't build excellent software have written many good books. Writing a good tech book requires deep understanding of a subject. Writing good software takes discipline, creativity, and (interestingly) not necessarily a particularly deep analytical understanding of underlying concepts. People have written truly excellent software on poor CS foundations.
- Mithrandir 15y agoPDF: http://www.catb.org/~esr/writings/taoup/html/graphics/taoup.pdf http://www.catb.org/~esr/writings/taoup/html/graphics/taoup.... Google Docs: https://docs.google.com/open?id=0B0Sn3y3wtPtNMWQ5OTk4YmYtNjVmZi00NmYxLTg4ZDMtMzI5MTJlYjhiZjA5 https://docs.google.com/open?id=0B0Sn3y3wtPtNMWQ5OTk4YmYtNjV...
- aynonemuss 15y agoAnyone have a link to better PDFs where the images fit on the pages? E.g. Fig 6.2 on page 170.
- 4ad 15y agoTo 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.
- spiralpolitik 15y agoIt'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 15y ago...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
- internatter 15y agoesr 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 15y agoFYI, people would upvote you if your tone was a little less harsh.
- akg 15y agoHis 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/ http://catb.org/~esr/writings/homesteading/cathedral-bazaar/
- thealphanerd 15y agoSuch an amazing read
- neilk 15y agoJust 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.
- ramses0 15y agoI referenced the above article in a blog post not too terribly long ago. http://www.robertames.com/blog.cgi/entries/the-unix-way-command-line-arguments-options.html http://www.robertames.com/blog.cgi/entries/the-unix-way-comm... "How to be unix-y in eleventy billion steps"
- anantzoid 15y agoWhy isn't this free?
- chubot 15y agoThis 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-Programming-Environment/9780139376818.page http://www.pearsonhighered.com/educator/product/The-UNIX-Pro... http://www.catb.org/~esr/writings/taoup/html/ http://www.catb.org/~esr/writings/taoup/html/
- jlank 15y agoIt's a long read ~520 pages, but worth it. I just finished it myself, I really like the final chapter where he ties the philosophy to real world political and social challenges that I think we are all trying to solve in one way or another with technology.
- sounds 15y agoI'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 15y agoThis seems hard to reconcile with the commonly accepted notion that unix is an example of 'worse is better'.
- DodgyEggplant 15y agoJoel Spolsky take on it http://www.joelonsoftware.com/articles/Biculturalism.html http://www.joelonsoftware.com/articles/Biculturalism.html
- lol_hn 15y agoknuth is the only person on the planet with the authority to call programming an art this guy's a nobody