The best way to design a program is to design it.