Some random off the top of my head notes on why command line interfaces (CLI), despite the "natural language" appeal and pseudo-familiarity they present to shell-centric developers, tend to be inferior to graphical user interfaces (GUI) for numerous reasons.
Every few years a group of clever developers comes up with an inspiration to build a "generic" CLI applicable to any/all types of data. While such an interface, even if it were workable, might be useful to a few, it's not really useful to non-developers, nor is it actually efficient for even developers to learn and remember, in comparison to a well designed GUI. Of course a good GUI is much harder to design and build than a CLI with an equivalent command set, and thus there is a tradeoff.
OTOH good GUIs are very hard to design, so it's a tradeoff.
This particular rant was inspired by (a reaction to?) Brian Behlendorf IMing me late night on 2008-07-31 and asking me if I had heard of Ubiquity. I hadn't, took a quick look, gave it a (probably unfair) summary judgment, and then spewed forth the above rant. Hopefully some of the above criticisms have some constructive value.
Return to FrontPage.