Sunday, February 26, 2012

Advantages and Disadvantages of GUI and CLI

A gui is an acronym for graphical user interface. This is the format which computer programs use to interface with users. Microsoft Windows is an example of a gui.

  • Advantages of GUI  
Advantages of a gui include the fact that they are typically more user friendly by using a mouse and graphics to select commands and actions. Disadvantages of a gui include the fact that they are typically slower, and require more
  • Disadvantages of GUI
- GUI take up a much larger amount of hard disk space than the other types of user interface
- GUI need significantly more memory (RAM) to run than the other types of user interface
- GUI use more processing power than other types of interface
- GUI can be slow for experienced programmers to use

The CLI offers users immense flexibility in that a single command can be executed with a variety of arguments, but the effectiveness is in direct proportion to how many commands and arguments for a command that the user is aware ofthe CLI can occasionally present certain actions that are completely unavailable in a GUI. For instance, the DOS command "ren *.txt *.bak" will change the extension of all .TXT files to .BAK, while leaving the filename intact. A batch rename of this type is not possible through the GUI.CLI commands and arguments can be used to create scripts, such as a bash shell script or a DOS batch file. If the user knows the specific commands necessary to perform an action, this scripted series of events can be saved to a single executable text file. In the future, if the user wants to conduct this series of events, they simply execute the script and all events play out as scripted.

Before any of the above advantages of CLIs over GUIs can be realized, a thorough knowledge of commands, command structures and options must be acquired. Learning CLI commands requires more long-term and short-term memory.
Command line interfaces require LONG TERM MEMORY for routine functions that are repeated many times a day,instead of recognition memory, which some claim is the more natural way for humans to navigate and interact with their environment. For less common tasks, a CLI typically requires the user to read help pages, learn about the tools available, choose the ones suitable to the goal, and plan a sequence of steps to achieve the desired result, devising corrective action if things do not go as expected.
CLIs have a steeper learning curve than GUIs ? more time and effort must be devoted to learning the basics before even simple tasks may be accomplished, making them unsuitable for newcomers. Learnability of commands is poor.
While a GUI presents high-level functions such as documents and graphics that a user is interested in manipulating for accomplishing tasks, a command-line interface is a low-level interface with functions tailored more for "behind the scenes" interaction and programming. CLI enthusiasts claim that lower-level is better, and gives the user a better knowledge of how the computer works.
Command line interfaces are not efficient for multitasking; they do not offer the same ability to view multiple program outputs or content simultaneously.
It is often more difficult to perform a rarely-used operation than a common one, and often requires learning previously unencountered syntax.
Input errors are frequent.
Command line switches differ between programs for similar functions, increasing the amount of memorization required to interact with the machine and making each program a new learning task in itself.

No comments:

Post a Comment