Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re^3: The sad state of Perl documentation

by tye (Sage)
on Sep 14, 2000 at 23:53 UTC ( #32547=note: print w/replies, xml ) Need Help??

in reply to RE: (redmist) RE: The sad state of Perl documentation
in thread The sad state of Perl documentation

Sure, you have this powerful Command Line Interface - so what? Humans do not work that way.

/me is surprised to learn that he is not human.

I hate to reach for the mouse because is not well designed for use by humans. It was apparently a design stolen from the race in "The Mote in God's Eye". I'm a programmer so I have to actually type quite a bit and I really prefer to do it fast so I actually use two hands for it. Everytime I have to reach for the mouse (and it usually amazes people how infrequently I'm forced to) I have to take one hand away from the keyboard. I hate that and it slows me down.

The great advantage to the GUI is that it makes the learning curve more shallow. This is lovely for things that you've never done before or things that you only rarely do. For things that you do all of the time and that you are supposed to be an expert at, a GUI almost always gets in the way and slows things down. On the other hand, I like climbing steep curves so I'm probably a freek as well as being from another planet (certainly many of my cow orkers don't bother to become "experts" at editting, to my eye). On the gripping hand, there is more than one way to do user interfaces (TIMTOWTDUI) and no one way is the best for all situations.

        - All in fun, Love Tye
  • Comment on Re^3: The sad state of Perl documentation

Replies are listed 'Best First'.
GUIs and CLIs
by merlyn (Sage) on Sep 15, 2000 at 00:06 UTC
    I agree. I nearly choked when I saw that remark about CLIs and not human. But you said it much better. Let me paraphrase, and see if it fits.

    GUIs are fine for some people who need handholding for infrequent tasks or initial exposure. But CLIs give the advantage of fewer hand movements, and (most important for power users) the ability to script common actions or have programs drive other programs.

    One of the most frustrating thing about the Mac for me is that I can't really script anything. Sure, OneClick helps, and AppleScript can trap some of the interesting things, but I really can't tell anything "move the mouse to the topmost file that begins with F, and click there". That's too tricky.

    So what we really need is both. GUIs to help the casual or beginning user, and CLIs for the frequent or power user.

    Let's also consider one other factor in HCI design. I personally have a brain wiring that makes icons nearly useless, and I understand about 10% of the population are like me. I have to stare at each icon individually and name it, so that the next time I come to that icon, I can recall the name, and then access the meaning of the icon. If you simply present me with a dozen icons or so, I must tediously go through and determine the word for each icon. Thank the maker for tooltips... I just wish they would come up faster!

    If a tool has a way of turning all the icons off, I usually do that, or if it has a way of replacing all the icons with words, I even prefer that. So for the 1 of 10 people in the population like me, please, please, please give words near the icons, or provide tooltips. Otherwise, I will swear at you every time I have to use your program.

    -- Randal L. Schwartz, Perl hacker

      Who says you have to stop scripting to use a GUI? I use scripts every bit as much as I did before. And a CLI is NOT the way humans work. Humans work interactively, based on multiple inputs, and multiple outputs. Humans also multitask. CLIs do not; they accept one input and one output - text - and even with multiple CLIs, you still use only one at a time. Even if you have five CLIs all running different processes, YOU can only look at one at a time. Not true on a GUI.

      - email Ozymandias
        Maybe it's a matter of terminology, but I bet you aren't scripting the GUI. You are driving the GUI from "command-line" programs that can display graphics widgets.

        But let me come along and now try to "script" your application. I can't. I haven't found any decent "scripting language" for your typical "GUI" that let's me say "click THIS button when THAT button turns green". If you have, please help us out here.

        Sure, I use multiple windows, with CLIs in each window. I don't call that a GUI. I call the gimp or Photoshop (depending on your bent) a GUI. Try scripting that in a meaningful way. It won't be from the GUI end. Gimp scripting is done because they have a (surprise!) CLI interface specially grafted on to the back end. And Photoshop has its little macro language, and I can tweak at that with some Applescript if I'm desparate. But it's just not the same as taking the output of "ps" and looking for the "httpd" processes.

        Imagine if you didn't have "ps", but only the "top" program. (Welcome to MacOS or Windows98 {grin}). This is what I'm talking about. You cannot script a GUI!

        -- Randal L. Schwartz, Perl hacker

RE: RE: RE: (redmist) RE: The sad state of Perl documentation
by Ozymandias (Hermit) on Sep 15, 2000 at 00:04 UTC
    I agree that every interface has its uses, and that includes the CLI. I didn't mean to imply that the CLI was in some way "bad".

    The GUI is nice not because it flattens the learning curve - it's still a pain to teach someone all the ins and outs of Word or WordPerfect, just as it was in the old CLI versions - but because it's a very nice Least Common Denominator. You can put the tools of the CLI on the GUI, and you can have your other tools at the same time - and it's up to you how you want them to look.

    - email Ozymandias

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://32547]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2018-05-27 10:18 GMT
Find Nodes?
    Voting Booth?