I was listening to an On Point show last night about proverbial wisdom and it struck me how much software engineering is overwhelmed with proverbs. Someone even wrote a book of them, Programming Proverbs
Here are a few I can think of:
- KISS (Keep It Simple Stupid)
- DRY (Don't Repeat Yourself)
- When in doubt leave it out.
- Choose two: Good, Fast, Cheap
- There's no silver bullet
- “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away” - Antoine de Saint Exupéry
- No Broken Windows
People don't often take proverbs seriously. But I find them extremely useful when writing software. I don't think I'm the only person who finds them helpful. How often do you think about the DRY principle, or KISS, when writing software? These proverbs have invaded the language of software engineering. I think their value suggests something about either the nature of our industry, or the current state of it. I wonder if other industries are riddled with proverbs.
I found a good list http://www.multicians.org/thvv/proverbs.html.
Which big ones did I miss?
UpdatesHere are a few more from Eric
- YAGNI (you ain't gonna need it)
- PICNIC (problem in chair, not in computer
- BAD (behaves as designed)