LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   General (https://www.linuxquestions.org/questions/general-10/)
-   -   Clicking Icons VS Typing Commands (https://www.linuxquestions.org/questions/general-10/clicking-icons-vs-typing-commands-519271/)

Cinematography 01-14-2007 04:15 PM

Clicking Icons VS Typing Commands
 
Which would you rather do?
- Right click a file to open it?
- OR type in something like this to do the same thing:
"mount -o loop -t iso9660 filename.iso /mnt/cdimage"

Which would you rather do?
- Use Nero or K3B to make a DVD?
- OR type in something like this to do the same thing:
"tovid -wide -pal -in foo.avi -out foo_encoded"

Recently I've been debating with someone I know about what people use their operating systems (computers) for.

I believe operating systems should be made easy so people can use them as the tool they were designed to be, to run programs, perform tasks, and communicate. In my opinion a good graphical user interface is essential for a user-friendly experience.

He thinks people should learn as much as they can about their computers, even if they have busy work schedules, other complex programs to learn, and even kids to attend to. He also believes people wouldn't have a problem with typing in complex commands to do what can easily be done in most programs by simply clicking an icon. "The command line is FASTER". Sure the command line can be useful for some things in the OS, and Windows could benefit if it had a better one. But to use the command line effectively you'll either need a good memory or not mind referring to a reference guide.

Many people already use command line tools for games and chat programs because they use those programs frequently. If you use something all the time of course you're going to learn about shortcuts and command lines to make doing some tasks faster. But to believe most people should or would want learn command lines so they could "automate their operating systems" seems a bit delusional to me.

What do you think?

PatrickNew 01-14-2007 04:21 PM

Umm, I think that CLI and GUI are two separate interfaces to a computer's capabilities. Whether or not to learn CLI is a personal choice. Yes - learn it and you'll probably be able to use your computer faster. Nonetheless, not everyone cares that much. It depends how much you use your computer. A *nix systems administrator should definitely learn it, but most people use their PC's for web browsing and word processing. The very nature of these apps makes them poorly suited for a CLI - word processing because it involves formatting and web browsing because most of the web is downright hostile to text browswers, and if you use a very advanced one like links, you're not really embracing CLI anyway.

Cinematography 01-14-2007 04:59 PM

I think an operating system should have a strong command line for advanced users, and a strong gui for casual users. But even with a strong command line people would probably still prefer to do most things with the gui.

easuter 01-14-2007 05:14 PM

Both GUI and CLI excell in different areas.
Sometimes I see people using a word processor for example, and I see their hand move from mouse to keyboard and vice-versa over and over, instead of using keyboard shortcuts and the tab key for navigation, and the mouse when really necessary. "Click -> File - Click -> Save - Click -> Path - Click -> Name - Click -> Save". VS "Ctrl+S -> Tab -> Tab+Tab -> Tab -> Enter".
Even though most word processors is not a CLI tools any more, using the keyboard for speed and efficiency is still valid even for non-gui apps.

I wonder how much electricity could be generated from mouse-clicks...

Cinematography 01-14-2007 05:25 PM

Quote:

Originally Posted by easuter
Both GUI and CLI excell in different areas.
Sometimes I see people using a word processor for example, and I see their hand move from mouse to keyboard and vice-versa over and over, instead of using keyboard shortcuts and the tab key for navigation, and the mouse when really necessary. "Click -> File - Click -> Save - Click -> Path - Click -> Name - Click -> Save". VS "Ctrl+S -> Tab -> Tab+Tab -> Tab -> Enter".
Even though most word processors is not a CLI tools any more, using the keyboard for speed and efficiency is still valid even for non-gui apps.

I wonder how much electricity could be generated from mouse-clicks...

I agree. We use shortcuts all the time for the programs we use often, but its only in rare or advanced cases that we use or need command line for the OS running that program.

aysiu 01-14-2007 10:52 PM

Why do you have to choose?

This is like asking whether I'd rather gesture for the rest of my life (but not learn an actual non-verbal formalized sign language) and not speak, or only speak and never gesture.

Sometimes you want to point and click. Other times you want to type. It's just like real life. Sometimes, you can convey a lot to someone by lifting your finger or nodding your head. Other times, it's more efficient to actually speak a sentence.

I'll tell you one area where the command-line cannot be beat by the GUI--troubleshooting and online support. If someone tells me "Synaptic won't open. I click the icon and it just disappears," I know nothing about what the problem is or how to start it. But if someone gives me terminal output from the command
Code:

gksudo synaptic
I can at least try to find an answer for what might be wrong, or I may know the answer off the top of my head.

Cinematography 01-14-2007 11:18 PM

I never said you had to choose. I use both. I know a lot of people who use both. The argument was about whether or not people should be forced to use the command line. The perfect OS, in my opinion, would have a GUI good enough for casual users who would NEVER want to use the command line, and a command line strong enough for power users who would want to customize and automate ANYTHING.

rickh 01-14-2007 11:23 PM

It's a silly, argument. Nobody has to use the command line now. Not for anything a casual user would want to do anyway.

Ynot Irucrem 01-14-2007 11:47 PM

Basically everyone uses both. Experienced users know that the CLI and GUI are better at different things (even Linus uses KDE), and newbs generally want to learn as much as they can about the CLI, or have to type some command when they break something and a someone tries to help them. Yes they are going to break something, they ARE newbs after all, they even break stuff in Windows ;)

Maybe the only people to not use both are Windows users SSHing into Linux server boxes.

taylor_venable 01-14-2007 11:52 PM

Quote:

Originally Posted by Cinematography
Recently I've been debating with someone I know about what people use their operating systems (computers) for.

I believe operating systems should be made easy so people can use them as the tool they were designed to be, to run programs, perform tasks, and communicate. In my opinion a good graphical user interface is essential for a user-friendly experience.

He thinks people should learn as much as they can about their computers, even if they have busy work schedules, other complex programs to learn, and even kids to attend to.

This is an interesting topic I have myself been contemplating lately, as I just recently started learning the Smalltalk programming language seriously. Some of the revolutionary ideas coming out of Xerox PARC revolved around GUIs and making programming easier for the author. Maybe it was the second step in the COBOL revolution to make anyone a programmer, or maybe it was the third step in the FORTRAN revolution to let non-machine-hackers write software. But it's a long and interesting debate.

Nowadays there's no question that the computer-ignorant have to use computers. By which saying I'm not being condescending, but rather that in the same sense that I don't know much about how my car works, I have to drive it to get around. Of course, instead of complex levers and a startup crank, I've got a steering wheel and a key. Okay, so there's still some levers, but that's the initial learning curve that everybody's got to get over, like the notion that some icons are programs and others are files.

So as far as how much you have to learn about your machine, that's a trade-off between how much you want or need to get out of it. I could probably do some work on my car to make it perform better, maybe get a little better mileage. But I'd either have to learn it (expense = time + mistakes) or hire someone knowledgeable to do it (expense = money). Or I could avoid that expense and just take the hit in performance. It's really up to me, the user, to decide which is better, based on the choices I'm given.

However, if I'm an enthusiast, or already know a lot about cars despite my desk-bound career, I might as well tune up my auto. Conceivably, the investment would be worth it, if I were good enough, and I'd be happy to increase my skills as well.

For the most part, today's nine-to-fivers have been dumped into technology rather unexpectedly. Their parents certainly didn't have to deal with such things. (Although, in actuality, they did in their own way, the analogy is difficult to see because computers are different in form, and meteroric in the way they've suddenly and completely arrived on the scene.) So the question is, do the users think it's worthy to spend the time to learn the complexities of their computers. And I think for the most part the answer is no, because it either won't save them time, or they think it won't save them time.

The next generation, currently growing up and going to college, may turn out different. We've (by which to say myself and others my age) been raised alongside computers, and are much more comfortable, and faster, playing with them to figure out what exactly they can do. Of course, many of this generation was raised on the GUI, so the CLI probably won't see a comeback. But along the same lines as GUI vs CLI, we may be more motivated to find the shortcuts that will lead us not only to a better knowledge of our machines, but also higher productivity. On the other hand, another leap in technology could offset that (GUIs have not been around for that long, and look how much they've evolved since the early days) and force most of this generation into the same place that the current middle-aged one is. It's basically impossible to tell.

I personally prefer the CLI. Even in the GUI apps I use (notably Opera and Eclipse) I go through and change all the keystrokes so they match my beloved Emacs, and do as much as I can without touching the mouse. It feels fast to me.

I often think along the same lines as far as programming languages go. Each new language that comes out seems to have more features in line with those associated with functional programming than previous languages. Take D for example, recently reaching version 1.0, which has support for lazy evaluation. Or Ruby on Rails, which uses what effectively amount to macros (Lisp-like, dynamically-expanded macros, not static macros like from C pre-processors) to do a lot of the heavy lifting. Erlang has very impressive concurrency support using lightweight threads, and safe multi-processing is increasingly more important in the world of 2,4,8 -core CPUs. Most newer languages support higher-order and first-class functions, and have builtin primitive list support. When will programmers learn the merits of functional languages and stop writing Java and C++?! :) Well, the answer is that when they finally see reason to change, they will. I just like to think of myself as being on the cutting edge. Although, on the other hand, I'm also a fan of static typing, which is somewhat out of vogue at the moment (Ruby and Python are both dynamically typed, of course).

Quote:

Originally Posted by Cinematography
He also believes people wouldn't have a problem with typing in complex commands to do what can easily be done in most programs by simply clicking an icon.

One benefit I see to the CLI in this instance is the ability to define aliases, especially in the shell. I don't like typing "/usr/local/bin/lp -o sides=two-sided-long-edge" so I aliased it to "print_two_sided". I guess this is like assigning a shortcut key to a menu item in the GUI, but I find it more mnemonic. How am I supposed to remember what CTRL-F12 does? The really important bit is that both types of interaction come with help. Manual pages for the console, help files for the GUI application.

Quote:

Originally Posted by Cinematography
But to use the command line effectively ... not mind referring to a reference guide.

That doesn't bother me, but it will to the people who don't care to get into the gory details. The folks who just want to get their job done, who don't see the benefit of learning how the system works, or don't believe it's worth the work for them, they don't really want to use the manual. So that's why GUIs and descriptive icon design were created. So again, like almost everything else in this world, it's trade-off and personal choice.

Cinematography 01-15-2007 12:13 AM

Quote:

Originally Posted by Ynot Irucrem
Basically everyone uses both. Experienced users know that the CLI and GUI are better at different things (even Linus uses KDE), and newbs generally want to learn as much as they can about the CLI, or have to type some command when they break something and a someone tries to help them. Yes they are going to break something, they ARE newbs after all, they even break stuff in Windows ;)

Maybe the only people to not use both are Windows users SSHing into Linux server boxes.

You must mean Linus noobs. :) Linux noobs are a different kind of noob. They're usually intermediate computer users and not soccer moms with 2 kids and a hungry husband to feed.

PatrickNew 01-15-2007 12:15 AM

Quote:

Originally Posted by Cinematography
I believe operating systems should be made easy so people can use them as the tool they were designed to be, to run programs, perform tasks, and communicate. In my opinion a good graphical user interface is essential for a user-friendly experience.

He thinks people should learn as much as they can about their computers, even if they have busy work schedules, other complex programs to learn, and even kids to attend to. He also believes people wouldn't have a problem with typing in complex commands to do what can easily be done in most programs by simply clicking an icon.

Not to seem too controversial, as I might only be arguing semantics, but I think you're both wrong. He is clearly wrong, because if people didn't mind typing those commands, there wouldn't be a demand for Desktop Environments. We would all be happy to use Fluxbox with xterm as the only entry in the menu and yes - it would be quite fast.

However it is foolish OS design to make an OS designed to be friendly. An OS should be stable and versatile internally, but has no obligation to be pretty. It then provides an API to developers of applications, and *they* should make things pretty. Gui should never be included in an OS. The purpose of an OS is to handle resource allocation and hardware management - period. Gui's should be maintained separately of an OS and depend on the solid foundation of that OS. Luckily for us, Linux follows this model. But then again, maybe I'm just arguing the semantics of what constitutes an Operating System.

Cinematography 01-15-2007 12:24 AM

Quote:

Originally Posted by PatrickNew
Not to seem too controversial, as I might only be arguing semantics, but I think you're both wrong. He is clearly wrong, because if people didn't mind typing those commands, there wouldn't be a demand for Desktop Environments. We would all be happy to use Fluxbox with xterm as the only entry in the menu and yes - it would be quite fast.

However it is foolish OS design to make an OS designed to be friendly. An OS should be stable and versatile internally, but has no obligation to be pretty. It then provides an API to developers of applications, and *they* should make things pretty. Gui should never be included in an OS. The purpose of an OS is to handle resource allocation and hardware management - period. Gui's should be maintained separately of an OS and depend on the solid foundation of that OS. Luckily for us, Linux follows this model. But then again, maybe I'm just arguing the semantics of what constitutes an Operating System.

I enjoy talking with people who don't always agree with me. Its a good way to learn different points of view.

Thank you for the input.

asimba 01-15-2007 01:51 AM

My 2 cents :

Use computers for what they are - If you are geek choice is entirely yours - you may go deep down in to Assembly Language and do things that way. But even in that case its very hard to keep track of all the hardware details and so forth

If you are a casual user - "You just need a tool to get Business done - Be it Command line / GUI"

Sepero 01-15-2007 02:17 AM

Linux is the universal operating system for freedom of choice. It continues to evolve. It has not finished improving (and likely never will).


All times are GMT -5. The time now is 11:45 PM.