3.3 Art, Craft, or Science?

The question if whether programming is an art, a craft, or a science has been around as long as I can recall and will likely persist long after I am dead. It is one of those water cooler conversations that can be both entertaining but frustrating. It can also end friendships.

Ultimately it does not matter which camp you occupy. Just for the record, I hold that programming is a craft, but software engineering (the development of software systems) is a science.