In the Linux Forum, there is an interesting debate going on about GUI (Graphical User Interface) and CLI (Command Line Interface), two modes for users to interact with the computer. Valid but opposing arguments were made by both sides:
-- 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.
source: about.com