Linked by David Adams on Fri 5th Aug 2011 17:42 UTC
Graphics, User Interfaces Since we're on a CLI kick today, here's an "attempt at presenting some of the most important guidelines for CLI design."
Permalink for comment 483937
To read all comments associated with this story, please click here.
Gawd awful guidelines ...
by MacTO on Sat 6th Aug 2011 17:13 UTC
Member since:

The Unix shell is superlatively wonderful because it comes with an extraordinarily powerful set of tools. Yet using it as an example of how to design command-line interfaces, well that's purely insane.

The Unix shell can afford to be more descriptive. This is true for how users issue commands (command completion means that noones going to develop RSI from using 'list-files' instead of 'ls' or '--force' instead of '-f'), but it is also true for how the program responds to user (since it is important to display progress for time consuming or complex processes).

The software can also afford to be more interactive. Yes, you need to be able to turn off interactivity for scripting. On the other hand, there are times when the software needs to ask. If it doesn't ask, it either fails to do what it's supposed to (e.g. 'rm') or it defaults to a destructive action (e.g. 'rm -f').

Those are just two examples stolen from the article, but the reality is that there are many ways to improve command line interfaces. The problem is that we live in a ghetto where the old way is the right way, so there hasn't been much progress over the past 20 to 30 years.

Reply Score: 2