Skip to main content

Abstract

Congratulations! You’ve finished writing your code so now it’s time to get it working. I know. You’re thinking, “I can write perfect code; I’m careful. I won’t have any errors in my program.” Get over it. Every programmer thinks this at one point or another. There’s just no such thing as a perfect program. Humans are imperfect (thankfully). So we all make mistakes when we write code. After writing code for over 40 years I’ve gotten to the point where most of the time my programs that are less than about 20 lines long don’t have any obvious errors in them and lots of times they even compile the first time. I think that’s a pretty good result. You should shoot for that.

As soon as we started programming, we found to our surprise that it wasn’t as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs. —Maurice Wilkes, 1949

It is a painful thing to look at your own trouble and know that you yourself and no one else has made it. —Sophocles

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Bentley, J. Programming Pearls, 2nd Edition. (Reading, MA, Addison-Wesley: 2000).

    Google Scholar 

  • Chelf, B. “Avoiding the most common software development goofs.” Retrieved from www.embedded.com/show/Article.jhtml?articleID=192800005 on October 2, 2006.

  • Cockburn, A. and L. Williams. The Costs and Benefits of Pair Programming. Extreme Programming Examined. (Boston, MA: Addison-Wesley Longman, 2001). Page 592.

    Google Scholar 

  • Collins-Sussman, B., Fitzpatrick, B. W., and Pilato, C. M. Version Control with Subversion. (Sebastapol, CA: O’Reilly Press, 2010). Retrieved from http://svnbook.red-bean.com/ on 15 October 2010.

    Google Scholar 

  • Kernighan, B. W. and R. Pike. The Practice of Programming. (Boston, MA, Addison-Wesley, 1999).

    Google Scholar 

  • McConnell, S. Code Complete 2: A Practical Handbook of Software Construction. (Redmond, WA: Microsoft Press, 2004).

    Google Scholar 

Download references

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2011 John Dooley

About this chapter

Cite this chapter

Dooley, J. (2011). Debugging. In: Software Development and Professional Practice. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4302-3802-7_13

Download citation

Publish with us

Policies and ethics