"Think twice before you start programming or you will program twice before you start thinking. " -- Unknown

@nixCraft OTOH, sometimes you have to do exploratory programming, figuring out if your mental model even resembles how the program elements fit together.

"Plan to throw one away, you will do so anyway."