|
Softpanorama |
May the source be with you, but remember the KISS principle ;-)
Softpanorama Search
|
| Old News | Recommended Links | OFMs | OFM Book | Orthodox Editors | Classic Unix Utilities | Pipes |
GUI with it's ability to display different fonts, provides much more capabilities, than restrictive character-based interface. Nevertheless the character interface is really important and considered classic from another point of view. Artists know well the saying "form liberates". In the same way puritan character interface liberates a programmer from spending too much time and effort on unimportant things and thus provides the possibility to spend most of the time implementing richer set of operations.
Paying too much attention/time/effort to the "face makeup" is characteristic to Windows developers and often negatively influence the core functionality of the product.
It's actually nice to have both keyboard interface capabilities and mouse-based drag and drop capabilities. you can can consider composition on complex commands on command line as a special case of drag and drope, drag and drop that is missing in typical GUI-based interfaces.
Anti-Mac -- an interesting critique of MAC-style graphic interface
|
The traditional UNIX user interface
is a simple
command-line shell.
A text-only terminal window with a fixed number of lines (usually 24) and columns (usually 80) is controlled by the shell program. The shell prints a prompt when it is ready to receive commands. You use the keyboard to type in a command. Then the shell parses and processes the command and executes it for you. The command prints its output, if any, to the same terminal window. When the command is done, the shell prompts you again to enter another command. In general, the terminal window has no graphics capability, although there are specialized graphics terminals and some UNIX programs know how to display (usually monochrome) images on them. Modern personal computers have all moved away from command-line interfaces and created graphical user interfaces (GUI). In a GUI, there are menus or pictoral displays showing all programs that you can run and files that you can access. A pointing device (usually a mouse) is used to select items from the menus or displays. Individual programs open a "window" within the monitor to display their output, and can display either text or color graphics as needed. The keyboard is primarily used to enter text or data, although there are often keyboard equivalents to the various menu options. There is a GUI shell available for UNIX systems, called "X-Windows" or simply "X". This GUI has all the same features that you would find on a personal computer. In fact, the version used most commonly on modern UNIX systems (CDE) is made to look very much like Microsoft Windows. The X-Window system goes beyond personal computer GUIs in that the GUI and the programs that you run within the GUI can be executed on one or more networked computers, such as servers, but all the windows can be displayed on one networked computer or a simple X-terminal device. UNIX programs that date from the traditional command-line days have to be rewritten to make use of the X-Window GUI system, so the standard X-window environment usually includes a simple terminal window running the traditional UNIX shell. That can be used to execute the many traditional commands that do not directly interface to the X-Window GUI. |
-- GUI makes it easy for the user, therefore
makes the OS user-friendly.
-- GUI interface means the OS is "dumbed down"
-- CLI gives the user more control and
options.
-- CLI is stone-aged; it belongs to a "The History of Computers" museum.
-- Xwindows is progress compared to the
CLI.
-- Xwindows presents a really big security risk...load it and you are
asking to be hacked.
-- Using GUI is faster. Picking and choosing
icons sure beats trying to remember and typing command lines.
-- Using CLI is faster. A keyboard is pretty much all you need here,
much faster than all that clicking, scrolling, clicking some more, scrolling
some more, and more typing, then clicking.
-- GUI consumes too much CPU and memory.
-- With newer and more powerful computers, that is not a problem. And
its benefits are well worth it.
My feeling is that people's strong preference for one interface and stern rejection to the other are sometimes more psychological than technical. There are those who are afraid that without the comfort of the colorful clipart they have grown accustomed to seeing on their screen, the blank screen will take them right back to the dark ages, when computers were handled only by a few tech wiz'. At the other end of spectrum, there are those with what's known as the "superiority complex" over GUI. For these people, GUI is totally beneath their über-geek status and mastering CLI is matter of wiz-kids honor.
The truth, as usual, lies somewhere in the middle. CLI and GUI are essentially complementary modes of interacting with the computer. CLI is generally easier if you can remember the commands and the options, which is the case if you use them a lot. If you don't use certain functions a lot, a nice GUI can help you find them quickly. Of course whenever you have to repeat a command many times you should automate the process by writing a script, but in theory you could link that script to a button or menu item in a GUI. It doesn't have to stay at the command line.
So, in the user-friendly vs. control and options debates, both sites have a point. But there is a third point: GUI and CLI can be used together to achieve great things that either one alone can't. This is particularly true with Linux where the user is given the flexibility of switching back and forth between GUI and Command Line easily. One example is that Linux CLI and GUI can give the user the ability to work on any computer on the network as if you were sitting at that computer. On Unix/Linux (running X-Windows) all you need to do is use the xhost command to specify which computers you want to allow access, and the DISPLAY environment variable to specify on which computer you want to start the GUI of the program you want to run.
Even though new users seem to learn GUIs more quickly to perform common operations, carefully developed CLIs have several advantages:
InTheBeginningWasTheCommandLine - spack [dot] org
Copyright © 1996-2009 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
Disclaimer:
Created Jan 2, 1997. Last modified: August 09, 2009