David's post about programming languages and hand tools reminded me about the old saw about the hammer and the nail. The funny thing about that saying is that the hammer is actually one of the more versatile tools there is. A few things I've done or seen done with hammers:

  • Knap flint.
  • Pull nails. (Whoever added that ability to the stock hammer was a genious.)
  • Split fire wood with a wedge. (Axes are overrated in my experience.)
  • Pry under a board like a mini crowbar.
  • Pound on a crowbar to set it under a board. (One of my favorite tool combos.)
  • Chisel a stone sculpture.
  • Chisel a piece of wood to a custom fit rather than using a saw. (Thanks for teaching me how, Dad.)
  • Crack walnuts.
  • Knock on a wrench to loosen an over-tightened bolt.
  • Open the "eye" holes in a coconut, using a screwdriver.
  • Open the coconut the rest of the way (there's a trick to doing it with 3 firm taps, BTW).
  • Dig in the dirt. (Works better than you might think.)
  • Crack open a rock to look at the interesting fossils or geode inside.
  • Strike a tuning fork to tune a piano.
  • Oh, and pound nails.

So don't knock the hammer. Indeed it doesn't have the complexity of a programming language, but the variety of ways it can be used, number of varients that can be chosen for different purposes, and beauty of a well-designed one makes it at least comprable to a hash table, regexp engine, or the like.