From an Engineering stand point it's difficult to argue against the view that software tools should meet, first and foremost, their specifications. This talk concentrates on reminding us a fundamental technique for achieving this goal, while arguing that some basic programming idioms, which most are well known (but not as well followed), can make this technique easier to handle.
This part is an expansion of the terse version I've contributed to the book "97
Things Every Programmer Should Know" (O'Reilly, 2010)
http://programmer.97things.oreilly.com/wiki/index.php/Coding_with_Reason
Along the way I'll mention some of the more common (and very useful) techniques that are used for managing the quality of industrial software and, when relevant, will mention a few shortcomings of them.
Parts of the contents of the presentation have appeared as an article on C-Vu, a journal of ACCU (the Association of C and C++ Users), pp. 8-11, May 2011, by the same title.