There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.
I find this quote funny, but untrue. If you use regular expressions for the right problems, you solve the problem. If you use it for the wrong problems, well, then regular expressions aren't where you should put the blame.
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible,
you are, by definition, not smart enough to debug it.
- Brian Kernighan