A car can be driven on the road, or it can go onto a sidewalk and kill pedestrians and the driver. In comparison, a train or trolley can’t easily go off its rails.
Is a car misdesigned because it is an open-ended, unconstrained tool? Not necessarily; you must weigh the costs of other possibilities against their benefits.
Unix is deliberately built as a general open-ended collection of tools. It enables many more things to be done than other systems which start by presuming a list of things the user wants to do. And some of the things it enables are mostly harmful, although they too are sometimes useful. It’s not misdesigned; it makes a design tradeoff that is the correct one in some situations, and not in others.
A car can be driven on the road, or it can go onto a sidewalk and kill pedestrians and the driver. In comparison, a train or trolley can’t easily go off its rails.
Is a car misdesigned because it is an open-ended, unconstrained tool? Not necessarily; you must weigh the costs of other possibilities against their benefits.
Unix is deliberately built as a general open-ended collection of tools. It enables many more things to be done than other systems which start by presuming a list of things the user wants to do. And some of the things it enables are mostly harmful, although they too are sometimes useful. It’s not misdesigned; it makes a design tradeoff that is the correct one in some situations, and not in others.