Praising the Command Line

Stephan Ramsay has an interesting series of posts in which he takes the retro position that the command line is superior to a GUI. Even more radically, in the current milieu, he argues that the average user—the ever popular man in the street—would find the command line easier to use than a GUI if he could be persuaded to try it. In Life on the Command Line and The Mythical Man-Finger he explains why he thinks this is true.

Ramsay isn't one of those annoying people who does things like living without electricity for a week to make some silly point and show he can. As far as the command line is concerned, he walks the walk. He notes that he has almost completely stopped using graphical tools on his computer and that when he does it's to surf the Web.

To illustrate his point, he starts with email. GUI email programs are slow and waste time. Why, he asks, does Gmail start so slowly that it shows you a progress bar? He compares that to a text-based email client like mutt or pine where you simply type the name1 to start the app and bang! you're looking at your mail. Type another key and the app quits and is gone. All without taking your hands off the keyboard.

If you choose the right text-based email client, you can integrate your email with the rest of your system to perform tasks that the client itself doesn't support. Ben Maughan's post on how he handles email with mu4e is an excellent example of this. Maughan shows how he can search for emails, integrate an email into a TODO list, and easily archive those he wants to save all from the keyboard.

In the second post Ramsay takes up the complaint that he's a power user and what he does is beyond the capabilities of the average user who just want things to work. While acknowledging that he is a power user, he emphatically denies that using the command line is harder than using a GUI or beyond the average user's capabilities.

In the first place, the ergonomics of a GUI make interacting with it slower and clumsier. If you're having to take your hands off the keyboard to move the mouse around and click on things, you're going to be slower than if you can type a key or two to do the same thing. Navigation can be more difficult too. If you have to pull down and menu and search for the right action, it's going to be harder to do what you want to do.

To illustrate this, he considers a notional command line music application. Instead of bringing up a GUI, scrolling around looking for the track you want and clicking on it, you merely type

play "Comfortably Numb"

Want to hear it again?

play last

In the mood for more Pink Floyd?

play pink-floyd

Ramsay goes on to show various other music player tasks that fit nicely into this paradigm. It is, he argues, easier and more natural than trying to do the same thing with a GUI.

Finally, in The Man-Finger Aftermath he discusses some of the points raised in the comments to his posts.

As retro as all this sounds, I realized that I do essentially the same thing because I mostly live in Emacs. Sure, I use the browser a lot but other than that, almost everything I do is in Emacs and while it's not strictly speaking a command line, it comes down to the same thing. A lot of the time, I'll pop into eshell to use some tool that's not integrated nicely into Emacs.

Like Ramsay, I find working from the command line or Emacs much easier than messing around with the mouse and clicking on things. Whether that's true for everyone, I don't know but it's worth pointing out that it used to be that the command line was the only thing available and somehow the average user managed.



Or better yet have a hot key that starts the application automatically. That makes a lot of sense for applications that you use frequently.

This entry was posted in General and tagged , . Bookmark the permalink.
  • Rene Froger

    Great article! I wholeheartly agree with you.