alex wrote:
Dijkstra has something nice to say about metaphor and programming errors:
This argument made me think of another topic. When does a metaphor stop being a metaphor? Let me take another example. The word "battery" (as in an electric battery) was originally a metaphor. Early chemists were using Leyden jars to generate electricity for electrolysis, which required the synchronized discharging of an array of batteries. This was analogous to the synchronized discharging of arrays of cannons, which were called batteries (from the French "battre" -- to beat), and this is where the electric battery got its name from. Today's electric batteries no longer discharge in the same manners as artillery batteries, and there is no trace left of the metaphor apart from the name. Returning to Dijkstra's bug example, is "bug" still an animistic metaphor, or is it simply a synonym for a defect (or fault)?