dgingeri
2[H]4U
- Joined
- Dec 5, 2004
- Messages
- 2,830
I disagree. In most cases a -h or --help switch lists all your options. No need to remember lists of stuff, but when you do you get even faster.
It is true that there is a learning curve, and only once that learning curve is overcome does one become faster, but the point the author made is that GUI systems have a learning curve too.
I remember my mom trying to use a mouse for the first time back in the 90's. It was fairly amusing watching her aim and miss the buttons she was going for.
The point the author is making is that mice and pointers are more intuitive to us, only because most of us have already been forced to overcome that learning curve, whereas most People aren't forced to overcome the text interface learning curve, and thus many have an irrational fear of it.
As humans we have pretty well developed brains for navigating 2d and 3d Space, but the fact remains that the more you minimise searching, navigating, aiming and clicking, the less time a task takes. The fewer degrees of freedom a task requires us to compute, a smaller slice of our brain is needed to process the task.
As mentioned before, there are tasks that a GUI is better for as well. Notably most desktop applications, but IMHO setting up and managing servers, and inventory control and POS systems like the author mentions are areas where a terminal interface is undoubtedly more efficient.
I bet I can pull up a machine's IP address with the GUI faster than you can with the command line (without the command line already open.) I know for certain I can enter a dozen IPs in a Windows GUI for DNS far faster than anyone, absolutely anyone, can enter the same in a Linux BIND DNS server from bash shell.
There isn't a whole lot of "searching, navigating, aiming and clicking" with most users, and in addition, a GUI is confined compared to a command line. The command line is wide open, and this also means it is open to wrong things and completely lacks hints to context. The very thing that so many people tout as "you can do anything from the command line" is the very thing that makes it hard to use.
A new user could do more with Windows DNS in 15 minutes than a new user could do anything with Linux BIND in a week simply because the icon on the DNS management panel will tell them right where to go, and the form of the GUI would tell them what things are and what to do with them with just a mild amount of logical reasoning. A Linux command line tells the user nothing about where the DNS files are or how to edit them, and if they figure that much out, the file itself would only clue a user to how to format the new entries, without any hint that they would need to increment the serial on the DNS file or that they would have to restart the service for the server to even know that changes had been made.
A GUI, by very definition. clues a user into what they can and cannot do, while a command line does absolutely nothing to help. Even typing "help" does nothing in most command lines, and certainly does not clue a user in to all that they can and cannot do.