Linus on "nice" design decisions
They use a “real database”. They use “nice object-oriented libraries”. They use “nice C++ abstractions”. And quite frankly, as a result of all these design decisions that sound so appealing to some CS people, the end result is a horrible and unmaintainable mess.
Linus Torvalds
The entire post (originally from 2007) is archived and worth a read.