"There are only two hard things in Computer Science: cache invalidation and naming things" - Phil Karlton http://people.famouswhy.com/phil_karlton/ (NB: "hard" things)
While we're being flippant: Every problem in computer science can be solved by adding another level of indirection - except for the problem of too many levels of indirection
While we're being flippant: Every problem in computer science can be solved by adding another level of indirection - except for the problem of too many levels of indirection