Reading Alex E. Bell’s2 and Mark Guzdial’s3 “Viewpoint” columns in the August 2008 issue of Communications of the ACM, I was struck by the synergy of the two articles. One is a cautionary tale about the tools to use in professional software development, and the other is, at least in part, a cautionary tale about language and syntax use in teaching programming. This got me to thinking about all the silver bullets we’ve tried in both development and education, and why most of them don’t matter to real software development. This seems like an appropriate way to wrap up this discussion on software development.


Software Development Simple Tool Good Software Computational Thinking Cautionary Tale 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Beck, K. Extreme Programming Explained: Embrace Change. (Boston, MA: Addison-Wesley, 2006.)Google Scholar
  2. Bell, A. E. “Software Development Amidst the Whiz of Silver Bullets,” Communications of the ACM, 51, 8 (August 2008), 22–24.Google Scholar
  3. Bentley, J. Programming Pearls, 2nd Edition. (Reading, MA: Addison-Wesley, 2000.)Google Scholar
  4. Brooks, F. P. The Mythical Man-Month: Essays on Software Engineering, Silver Anniversary Edition. (Boston, MA: Addison-Wesley, 1995.)Google Scholar
  5. Dahl, O. J., E. Dijkstra, et al. Structured Programming. (London, UK: Academic Press, 1972.)MATHGoogle Scholar
  6. Dijkstra, E. “The Humble Programmer,” CACM 15(10): 859–866. 1972.CrossRefGoogle Scholar
  7. Glass, R. “The Standish Report: Does It Really Describe a Software Crisis?,” Communications of the ACM, 49, 8 (August 2006), 15–16.Google Scholar
  8. Guzdial, M. “Paving the Way for Computational Thinking,” Communications of the ACM, 51, 8 (August 2008), 25–27.Google Scholar
  9. Hunt, A. and D. Thomas. The Pragmatic Programmer: From Journeyman to Master. (Boston, MA: Addison-Wesley, 2000.)Google Scholar
  10. Jenkins, S. B. “Musings of an ‘Old-School’ Programmer,” Communications of the ACM, 49, 5 (May 2006), 124–126.Google Scholar
  11. Lammers, S. Programmers At Work. (Redmond, WA: Microsoft Press, 1986.)Google Scholar
  12. McConnell, S. Rapid Development: Taming Wild Software Schedules. (Redmond, WA: Microsoft Press, 1996.)Google Scholar
  13. McConnell, S. Code Complete 2. (Redmond, WA: Microsoft Press, 2004.)Google Scholar
  14. Oram, A. and G. Wilson, Eds. Beautiful Code: Leading Programmers Explain How They Think. (Sebastopol, CA: O’Reilly Media, Inc, 2007.)Google Scholar
  15. Paulk, M. C. The Capability Maturity Model: Guidelines for Improving the Software Process. (Reading, MA: Addison-Wesley, 1995.)Google Scholar
  16. Polya, G. How To Solve It: A New Aspect of Mathematical Method, 2nd Edition. (Princeton, NJ: Princeton University Press, 1957.)Google Scholar
  17. Weinberg, G. M. The Psychology of Computer Programming, Silver Anniversary Edition. (New York, NY: Dorset House, 1988.)Google Scholar

Copyright information

© John Dooley 2011

Authors and Affiliations

  • John Dooley

There are no affiliations available

Personalised recommendations