Programming Books C Java PHP Python Learn more Browse Programming Books
  • List Price: $32.99
  • Save: $1.65 (5%)
FREE Shipping on orders over $35.
Only 1 left in stock.
Ships from and sold by Amazon.com.
Gift-wrap available.
Add to Cart
Want it Monday, April 21? Order within and choose Two-Day Shipping at checkout. Details
FREE Shipping on orders over $35.
Used: Good | Details
Sold by Dana Park
Condition: Used: Good
Comment: Pages are smooth and clear, with minimal folds or creases. Faint smudging on book edges. Minor page curl. Free of any markings or labels. Minor to moderate surface and edge wear to cover includes rubbing to edges. *** Ships from Amazon! Thanks!
Add to Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more

Programming on Purpose: Essays on Software Design Paperback – Facsimile

ISBN-13: 978-0137213740 ISBN-10: 0137213743 Edition: 1st

Amazon Price New from Used from Collectible from
Paperback, Facsimile
"Please retry"
$31.34
$26.19 $2.00

Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student



Frequently Bought Together

Programming on Purpose: Essays on Software Design + Conceptual Blockbusting: A Guide to Better Ideas
Price for both: $45.87

Buy the selected items together

NO_CONTENT_IN_FEATURE

Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Paperback: 256 pages
  • Publisher: Prentice Hall; 1 edition (February 12, 1993)
  • Language: English
  • ISBN-10: 0137213743
  • ISBN-13: 978-0137213740
  • Product Dimensions: 9 x 6.2 x 0.5 inches
  • Shipping Weight: 13.4 ounces (View shipping rates and policies)
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Best Sellers Rank: #1,569,338 in Books (See Top 100 in Books)

Editorial Reviews

From the Back Cover

A guided tour of numerous software design methods, this volume collects into book form a variety of articles from P.J. Plauger's monthly column Programming on Purpose which has been entertaining readers of Computer Language Magazine for years. Topics span the gamut from how to be a software entrepreneur, the innards of floating point arithmetic, and the turbulent world of software design methodologies, including structured analysis and data-structured design, why “bottom-up” design isn't always foolish, and why “top-down” design isn't always wise. MARKETS: For supplemental reading in an intermediate or advanced course on software design methods or software engineering, and for practicing programmers, software engineers, and specialists.

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.3 out of 5 stars
5 star
1
4 star
2
3 star
0
2 star
0
1 star
0
See all 3 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

22 of 26 people found the following review helpful By B. Scott Andersen on January 31, 2001
Format: Paperback
Few books I review get 5 stars. This is one of them. Programming on Purpose is a collection of essays originally written for Computer Language magazine. Although the original publication of this collection was in 1993, the materials in the book date back considerably further. Are Plauger's observations and nuggets of advice still relevant? Absolutely.

When you read modern classics like Design Patterns (Gamma, et. al.) you might mistakenly think that such works are revolutionary instead of evolutionary. Going back and reviewing books like this should correct any such misconception. Here's an example:

In his discussion "order out of chaos", Plauger writes "When you encounter a situation where data is presented in chaotic order, but must be processed in some definable order, you have a sorting problem. Forget about data structures or structured programming for the time being. Instead, cast the problem in a form that can be handled by known sorting technology, then apply it."

In short, Plauger urges you to "see the patterns" in the problem. If books that purport to teach design patterns were so pragmatic and clear they might be more successful! Plauger has many such clear, lucid thoughts, elegantly expressed. Here's another:

"My major concern here is the Principle of One Right Place--there should be One Right Place to look for any nontrivial piece of code, and One Right Place to make a likely maintenance change." Of course. Good OO design, indeed any good system design, should support this notion. Yet, how many systems and their designers do not?
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
5 of 7 people found the following review helpful By "godescbach" on October 27, 2003
Format: Paperback
Definitely a must have. One thing to keep in mind while reading this book is that it is a collection of essays taken from Plauger's column in Computer Language. Mr. (or should I say Dr since he has his PhD) has an easy and enjoyable reading style. The book's main thrust is collection of design methods each with a specific purpose. These design methods are used at various stages of developement on specific type of problems typically faced by programmers. Thankfully, P.J. also provides an overview chapter of when these various design methods must be used as well as their strengths and weaknesses.
This is not an OO methods book. Although P.J. does mention OOP, he is not focused on this subject. However, he does remind us that abstraction, encapsulation, and inheritance existed long before OOT. While this is rather obvious, it is something many of us need reminding. This book convinced me that understanding pre-OOT design methods (i.e. structured analysis, data-structured design) would enable me to better apply OOT.
Although Plauger mentions near the end of the book that he is not a text book writer, I sure wish he would reconsider turning this material into a textbook. The essays are really good, but some lack enough detail to be applied strictly from the knowledge imparted in the essay. Plauger also cheerfully reminds us that there is no one-size-fits-all method to solving a problem and that sometimes experience might lead us to do things we previously thought we shouldn't. In the end, software development is still as much an art as it is anything else. Thanks Mr. Plauger for an excellent read.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
2 of 3 people found the following review helpful By Fernando Berzal Galiano on March 17, 2006
Format: Paperback
Maybe because, unlike Plauger, most authors tend to advocate for their particular methodologies and do not really teach how to make the best use of the available design techniques. (Well, maybe it is just that way and it will never become easier. That's part of its charm.)

There are no silver bullets (that is, no "one-size-fits-all" method) and "we often cannot articulate why we do what we do when we do it." Plauger tries to address this problem not by proposing yet another silver bullet, but discussing useful design principles.

Despite some dated examples, Plauger's observations and advice are still relevant. You will find interesting essays on stepwise refinement, the use of grammars to parse input data, and structured design techniques.

If you think these are not "hot topics" today, pick this book just to enjoy yourself reading about "software design heresies" (apparently counterintuitive ideas), the authors' curious approach to teaching, or his peculiar comments trying to demystify [and even debunk the hype behind] object-oriented programming (written at a time when object-orientation was something completely new for the standard software developer.)

I'm sure you will not regret the time you spend reading this book.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Product Images from Customers

Search
ARRAY(0xa79b27e0)

What Other Items Do Customers Buy After Viewing This Item?