Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site nsc.UUCP Path: utzoo!linus!security!genrad!grkermit!masscomp!clyde!floyd!harpo!seismo!hao!menlo70!nsc!chuqui From: chuqui@nsc.UUCP Newsgroups: net.unix Subject: Re: kernighan & pike book Message-ID: <566@nsc.UUCP> Date: Tue, 24-Jan-84 13:14:52 EST Article-I.D.: nsc.566 Posted: Tue Jan 24 13:14:52 1984 Date-Received: Fri, 27-Jan-84 08:37:18 EST References: <15862@sri-arpa.UUCP> Organization: National Semiconductor, Sunnyvale Lines: 56 Speaking of reviewing the book, I have just finished it and was about to, so without further ado: *** The Review *** The Unix Programming Environment Brian W. Kernighan, Rob Pike Prentice Hall Software Series, $19.95 (355 pages softcover) For those that missed it, Rob Pike gave a talk at Unicom in Toronto on 'The Philosophy of Unix Programming (or cat -v considered harmful)'. In it, he discussed the pro's and con's of some of the trends he sees in Unix programming and alternatives. He promoted very heavily the tool orientation of small programs with single purposes put together in flexible ways. Two programs he took to task were 'more' (for the very obvious reasons of excessive functionality to the point on unmaintainability) and 'cat -v' because it took a filter that moves information and modified it to be a filter that modified information. The book is an expansion of this talk, and describes in detail (with many examples) how Rob and Brian feel Unix programs should be written. They discuss shell programming and C programming in detail, and also look at programs like sed, awk, lex, and yacc. There is some tutorial for all of these, but the real audience seems to be programmers with Unix experience. I was impressed with the talk at Uniforum, and I am even more impressed with the book. I do NOT recommend it as a first book on Unix programming (I much prefer the Bourne book for that), but it should be required reading for every Unix programmer. There are a lot of good programs in the example (such as vis, their replacement for cat -v, and p, their pager (with filename spelling correction, no less, which you'll never find in a tty driver (*hint*))). More than that, I found it showed me a lot about Unix about Unix and how to use it efficiently (and if you believe their philosophy, properly). I learned quite a bit about the shell (which doesn't suprise me too much) but I also learned quite a bit about C (which did suprise me, since I'm not exactly a C novice). There is a lot in this book that I haven't seen elsewhere. This book may not be for everyone. The people who like a few large programs (such as more) are not going to like this book any more than they liked the talk. I liked it a lot (if that wasn't obvious by now), but then my programming tends towards their philosophy anyway. Either way, you should read this book. On the chuqui scale: ***** (out of a possible 5) This book should be on everyones bookshelf. Congrats Brian and Rob for a good job very well done! -- From the house at Pooh Corner: Chuq (a Silly Old Bear) {fortune,menlo70}!nsc!chuqui have you hugged your Pooh today? Nuke the '58! Nuke the '58! The difficult we gave up on yesterday, the impossible we are giving up on now.