The Command Line In 2004

The Command Line In 2004

If you have some extra (extra) time, you may wish to browse through Neal Stephenson's In the Beginning There was the Command Line which was interesting, but wrong, in 2000 and continues to be interesting, but wrong. This version adds something because the poster has added his own annotations which, unfortunately, are not as well thought-out as Mr. Stephenson's. Basically, I sum up my disagreement with Mr. Stephenson (who I think is otherwise a great, and generally right, writer) with the following quote:

But I never blamed the Hole Hawg [a very powerful drill that only professionals use]; I blamed myself. The Hole Hawg is dangerous because it does exactly what you tell it to. It is not bound by the physical limitations that are inherent in a cheap drill, and neither is it limited by safety interlocks that might be built into a homeowner's product by a liability-conscious manufacturer. The danger lies not in the machine itself but in the user's failure to envision the full consequences of the instructions he gives to it.

A smaller tool is dangerous too, but for a completely different reason: it tries to do what you tell it to, and fails in some way that is unpredictable and almost always undesirable. But the Hole Hawg is like the genie of the ancient fairy tales, who carries out his master's instructions literally and precisely and with unlimited power, often with disastrous, unforeseen consequences.

While it is true that you never want something to fail in unpredictable ways, this does not mean that people should go and use the super powerful version. It is not just liability-consciousness that causes manufacturers to put the guards on; 99% of the time, it is completely unnecessary to offer the kind of unrestrained power that at Hole Hawg provides! In fact, if you wanted a tool, the only thing you would want it to do is exactly what you wanted it to do. Nothing more, nothing less and you would not have to pay for functionality you did not use.

Linux suffers from this mentality. Because the designers want it to be able to do everything, that is exactly what it can do and, as a result, is extremely powerful but extremely unwieldy for stupid simple things that normal people do all the time. Before you get up in arms, I know full well that there are always ways around the difficult components, but how long did it take you to learn that way around? If you have not done it in 3 weeks, do you remember all the flags you're supposed to set? The discoverability of Linux really suffers (and I'm just the kind of geek who loves discovering it).

Windows, to a large extent, ALSO suffers from this problem, but it's definitely getting better. What you really want out of the OS is to know exactly when it would work, exactly when it would fail how to do all the things you want to do with it. I don't know any OS that has been smart enough to do that yet.