So why does the argument continue? Because it’s not about GUIs or CLIs, it’s about the keyboard and the mouse. Proponents of the mouse find pointing and clicking far more intuitive than having to remember which commands to type. In typing commands, you can make spelling mistakes, with possibly fatal side effects1. Keyboard-based interfaces can be tricky, and definitely require you to spend some time learning the basics.
Proponents of keyboard-based interfaces argue that once you have memorized all commands, working with them is often faster than working with the mouse. I can certainly agree with that when it comes to editing code. The thing with editing code is that you mostly type anyway, much like when editing regular text. In contrast to editing text, however, you’re not so much concerned with the formatting of the text you type2, but with information contained in other code files3. You’ll also need to test your code more often than you would, say, print a text to proof-read it.
In other words, you’ll need to switch contexts very often – and any delay in that will cause an interruption in your work flow. It’s most productive to use a command line interface for something like that, because taking your hand from the keyboard, groping for the mouse, wiggling the mouse to relocate your mouse pointer4, then moving it to whichever area of the screen you need it to be on, which may or may not involve lifting the mouse to the side, because you ran out of desk space – all that just for a single click – quite often takes way longer even than employing one of those really messed up ctrl+shift+alt+function key shortcuts some programs require of you5.
When all is said and done, it really depends on the task at hand whether the CLI or GUI is superiour – and not because of the way data is displayed, but because of the way you enter data.
- Instead of editing two files with the command
nv file1 file2you could typemv file1 file2, which moves the first file onto the second – effectively deleting the second file, and renaming the first [↩] - Which is something easily applied at a later stage [↩]
- Code often grows beyond the ability to remember all bits of information required to type a single line [↩]
- Not only do we often not remember where we left the bugger, a lot of editors blend it out once you start typing, so that it doesn’t cover parts of the text you’re working on [↩]
- Personally I prefer laptop touchpads to mice for exactly this reason: if your window manager allows a focus-follows-mouse behaviour, flicking the touchpad to direct keyboard input to a different window is very fast [↩]


[...] Experts Anno 1974 [...]