• That all sounds pretty sensible to me. We face the same issues in software development. Take this as an example: multiple inheritance is bad. Is that really true? Sure you can get in a mess with it, and people due some dreadful things, but there are three occasions over the past 7 years of programming, mainly in Java and C#, where actually being able to use it would have been really useful. Obviously you can factor the code a different way to achieve the same end, and I've had to, but multiple inheritance would have been a much more elegant solution.

    Or what about using multiple threads? Dangerous and error prone right? Best avoided? Well sure, you don't want to use them just for the sake of it, but sometimes multithreading is the best, and indeed the right, solution for a particular problem.

    I think it's human nature to look for one-size-fits-all solutions because superficially it appears to simplify things in our often too busy lives, but I also think this might be a false economy, and that actually we'd do better to pause and reflect for a while on the best way to solve a problem.

    Bart