by Leon Rosenshein

Cautionary Tales

In the face of ballooning system requirements or the need to future proof your code, you may be tempted to add another layer of indirection. All problems in computer science can be solved this way, right? Not so fast. Overly-complex designs can be difficult to comprehend and maintain, and when they go wrong, they can go really wrong. A wonderful new podcast from Tim Harford highlights the risks--particularly for safety systems like nuclear power plants--of layering on complexity without enough thought. It’s a delightful romp from the 2017 Academy Awards to a 1638 post mortem by Galileo.

Cautionary Tales podcast
Benefits and risks of indirection

All problems in computer science can be solved by another level of indirection
    —Butler Lampson
But that usually will create another problem

    —David Wheeler