I’ve always liked Jeff Atwood‘s variation on Phil Karlton‘s original quote “There are only two hard things in Computer Science: cache invalidation and naming things.“:
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
However, with reactive programming these days this version by Dave Stagner probably is even more appropriate (especially since it uses zero-based numbering, which of course is the only decent way of indexing elements in a sequence …):
0) Cache invalidation
1) Naming things
5) Asynchronous callbacks
2) Off-by-one errors