Programming, when stripped of all its circumstantial irrelevancies, boils down to no more and no less than very effective thinking so as to avoid unmastered complexity, to very vigorous separation of your many different concerns.
~ Dijkstra
Friday, December 21, 2012
Once you understand that all other technical goals in software are secondary to managing complexity, many design considerations become straightforward.