- 出版社: Addison-Wesley Professional; 1 (1976年1月11日)
- 平装: 352页
- 语种： 英语
- ISBN: 020103669X
- 条形码: 0785342036695
- 商品尺寸: 15.7 x 2 x 23.4 cm
- 商品重量: 503 g
- ASIN: 020103669X
- 用户评分: 分享我的评价
- 亚马逊热销商品排名: 图书商品里排第1,559,663名 (查看图书商品销售排行榜)
Software Tools (英语) 平装 – 1976年1月11日
买满 ￥168.00 立减 ￥20.00: 满足条件自动优惠
Brian W. Kernighan works in the Computing Science Research Center at Bell Laboratories, Lucent Technologies. He is Consulting Editor for Addison-Wesley's Professional Computing Series and the author, with Dennis Ritchie, of The C Programming Language.
P.J. Plauger is President of Whitesmiths, Ltd., New York. Dr. Plauger received a Ph.D. in Nuclear Physics from Michigan State University. He is a member of ACM, the American Physical Society, and the Science Fiction Writers of America.
6 pages (145-150) were missing from the copy shipped by Amazon (27th printing). Brian Kernighan and his publisher Pearson were kind to supply both the missing pages and a new copy.
Brian Kernighan has co-authored three books almost essential to learning our craft, this volume, "Software Tools" and "The Unix Programming Environment". "Elements of Programming Style" spells out the fundamental rules, "Software Tools" shows you how to apply them to a number of simple projects and extends the rules to software design and finally "The Unix Programming Environment" shows you how to use them in an operating system designed to reward you for your effort.
It could be said that "Elements" teaches programming and "Software Tools" teaches software design. Rules such as "do just one thing, do it well" seem to seep in through the pores as you read and work through this book.
It presents a number of projects starting with a word count program and progressing through some filters to some fairly complex tasks culminating in a RatFor pre-processor for Fortran. All the examples are written in RatFor, a version of Fortran that adds some more structured elements to that early language.
Don't be put off by the use of RatFor, the language is easily understood and the style of programming so clear that the algorithms are easily understood. I've personally translated a fair number of them to both BASIC and C and the RatFor pre-processor design became the basis for an AppleSoft BASIC pre-processor written by a close friend.
I've relied on this book so much for the last ten years, after writing "Hello World" I drag it out and translate a couple of the tools into every new language I've learnt. I then spend a day or two thinking about and implementing a design optimised for the new language. After that I find I have a good handle on a language and how to design for it.
This volume is not for those who want a book that gives them pre-written tools, a fair number of the tools are standard issue on any Unix derivative and the code is only tersely commented, relying on the exaplanatory text. However I recommend this book to all software designers and programmers because as you work through these examples you will learn a great deal about honing your craft.
Kernighan and Plauger set out in this book to document what they used in their labs at the time it was written, and show how to build them. Ratfor was chosen because C was not as widespread then as it is now, and for those who didn't have it, a translator to standard Fortran '77 was one of the major parts of the book. A simplified version of the nroff text formatter and a version of ed are also included for text file processing (then as now one of the major uses for computers), the result being both a toolkit and a practical education in the ins and outs of applications development.
The environment given is not Unix-based inherently, but this book is a natural companion to Kernighan and Rob Pike's The Unix Programming Environment and John Lions' Commentary on Unix 6th Edition. It should be required reading for anyone who wants to do software development.