Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your email address or mobile phone number.

Software Tools 1st Edition

4.5 out of 5 stars 13 customer reviews
ISBN-13: 978-0201036695
ISBN-10: 020103669X
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used On clicking this link, a new layer will be open
$24.82 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$37.95 On clicking this link, a new layer will be open
More Buying Choices
17 New from $24.99 31 Used from $0.07
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

$37.95 FREE Shipping. Only 2 left in stock (more on the way). Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Frequently Bought Together

  • Software Tools
  • +
  • The Unix Programming Environment (Prentice-Hall Software Series)
  • +
  • The Practice of Programming (Addison-Wesley Professional Computing Series)
Total price: $129.97
Buy the selected items together

Editorial Reviews

From the Back Cover

With the same style and clarity that characterized their highly acclaimed book, The Elements of Programming Style, the authors have written Software Tools to teach how to write good programs that make good tools. The programs contained in the book are not artificial, but are actual programs ae tools which have proved valuable in the production of other programs.

Modern programming techniques such as structured programming and top-down design are emphasized and applied to every program. The programs are presented in a structured language called Ratfor ("Rational Fortran") which can be easily understood by anyone familiar with Fortran or PL/I, Algol, PASCAL, or similar languages. (Ratfor translates readily into Fortran or PL/I. One of the tools presented is a preprocessor to translate Ratfor into Fortran). All of the programs are complete and have been tested directly from the text. The programs are available in machine-readable form from Addison-Wesley.

Software Tools is ideal for use in a "software engineering" course, for a second course in programming, or as a supplement in any programming course. All programmers, professional and student, will find the book invaluable as a source of proven, useful programs for reading and study. Numerous exercises are provided to test comprehension and to extend the concepts presented in the text.


About the Author

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.



Product Details

  • Paperback: 352 pages
  • Publisher: Addison-Wesley Professional; 1 edition (January 11, 1976)
  • Language: English
  • ISBN-10: 020103669X
  • ISBN-13: 978-0201036695
  • Product Dimensions: 6.2 x 0.8 x 9.2 inches
  • Shipping Weight: 1.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (13 customer reviews)
  • Amazon Best Sellers Rank: #578,199 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

By A Williams on October 17, 2001
Format: Paperback
Elsewhere on Amazon I reviewed Kernighan's "Elements of Programming Style." To quote one paragraph from that review -
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.
Read more ›
1 Comment 26 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
Software Tools. I can't say enough about how important this book was - and still is - to me. The Software Tools in Pascal version does not have the same effect - it doesn't really work. But Software Tools gets across the idea that you do not have to accept the constraints of your environment to produce excellent programs. Instead, develop the program the way is should be and make a surprisingly small effort to then map it to your environment. Don't let the environmental problems constrain your thinking or actual programming. Then with a little effort you can get your environment to match what you need. The book develops a series of software tools, unix style commands, but implements them in a language called RATFOR (Rational Fortran). This is done because Fortran IV was universal at the time, but also horrible as a structured programming language. The delima: Use a better but less widely available language, or use a horrible but very popular and standard language. The author's choice - and the philosophy of the book - don't be boxed in by this choice. They added to Fortran the structures found in C and then wrote a preprocessor to translate this RATFOR to Fortran. The end result was the best of both worlds: well structured programs that will run on just about anything. The whole book is about this kind of choice. It is great philosophy for software development and great philosophy for life. END
1 Comment 36 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
The tools you will find in this book are ancient. They're written in a cockeyed hybrid of C and Fortran, and they're almost hilariously user-hostile by modern definitions. If this intimidates you, look at it this way -- you're looking under the hood of modern applications. Much modern word processing, page layout, and language implementation can be built by putting a nice, shiny coating on what you find in this book.
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.
Comment 11 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
In a certain way, software engineering is an art. In the past few decades, we have found some best practices. Nowadays there are tons of buzzwords out there -- agile, BDD, TDD, KISS... It's easy to get lost in the jungle of "software engineering methodologies". There is no silver bullet though. Instead of chasing those buzzwords in the hope of finding the best way to write software, my personal experience tells me that we should go back to the root of software engineering: why we are writing software, and what is the relationship between software developer, software, and machine. I think Software Tools answered those fundamental questions elegantly. Or, at least it brought up those questions.

This book covers almost every aspect of programming, in the context of writing practical command line tools for UNIX. At that time, FORTRAN was the de facto programming language. There was a big cognitive gap between the programming language at hand (unstructured, messy, low-level), and the programming model in our head (structured, clean, abstract, high-level). To address this problem, the authors proposed to build software "into" the programming language, instead of "in" the programming language. This insight is still valid today, because we still haven't found a programming language that can match the thought pattern of human brain directly. We still have to manually translate our high-level thoughts into low-level program statements. Software engineering about conquering not only the complexity of the outside world (e.g. the inherent complexity of the task that software want to handle), but also the complicity of the programming language itself (e.g. the language itself is not as neat as our thoughts).
Read more ›
Comment 9 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

Set up an Amazon Giveaway

Software Tools
Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
This item: Software Tools