Home > Store

Programming on Purpose: Essays on Programming Design

Register your product to gain access to bonus material or receive a coupon.

Programming on Purpose: Essays on Programming Design


  • Your Price: $28.04
  • List Price: $32.99
  • Usually ships in 24 hours.



  • The chapters are highly interrelated and, together, serve as a source book for design approaches.
  • Plauger's style is clear without being simplistic — reducing complex themes to bite-size chunks.
  • Each essay is presented from a fresh perspective and with a common vocabulary.
  • Each essay is followed by a brief Afterword in which Plauger provides additional insights and historical context where necessary.


  • Copyright 1993
  • Dimensions: 6" x 9"
  • Pages: 248
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-721374-3
  • ISBN-13: 978-0-13-721374-0

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. KEY TOPICS: 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.

Sample Content

Table of Contents

 1. Which Tool Is Best?

 2. Writing Predicates.

 3. Generating Data.

 4. Finite-State Machines.

 5. Recognizing Input.

 6. Handling Exceptions.

 7. Which Tool Is Next?

 8. Order Out of Chaos.

 9. Marrying Data Structures.

10. Divorcing Data Structures.

11. Who's the Boss?

12. By Any Other Name.

13. Searching.

14. Synchronization.

15. Which Tool Is Last?

16. A Designer's Bibliography.

17. A Designer's Reference Shelf.

18. A Preoccupation with Time.

19. Structuring Time.

20. Abstract It.

21. Encapsulate It.

22. Inherit It.

23. Heresies of Software Design.

24. Remedial Software Engineering.

Appendix A: List of Columns.

Appendix B: Bibliography.


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership