C-Tools Lecture: May 2012


I've just given the second version of my first year lecture on C Tools, building a toolbox of useful tools, and the craft skills to use them effectively, in order to make C programming easier.

The lecture covers the following topics:

  • Basic Tools:
    • Programmer's Editors: Use a single editor well.
    • Automating Compilation: Use Make.
    • Automating Testing: ruthless testing.
    • Debugging: Use a debugger and know it well.
  • Advanced Tools:
    • Generating prototypes automatically.
    • Fixing memory leaks.
    • Optimization and Profiling.
    • Generating ADT modules automatically.
    • Reusable ADT modules: hashes, sets, lists, trees etc.

In the lecture, I strongly recommend The Pragmatic Programmer by Hunt & Thomas. The woodworking metaphor and many inspirational tips comes from there. A few years ago, I wrote a review of this book in my Professional Software Development webpages, please find it here.

Here are the lecture materials, covering the lecture and associated examples (of which there are many):

Updated: May 2012