Newsgroups: comp.sys.mac.misc
Subject: Re: Re: CLIs that teach; GUIs that don'ty
From: goblec@physc1.byu.edu
Date: 23 Jul 92 18:08:52 -0600
Distribution: world
Organization: Brigham Young University

In article <100760002@hpcupt3.cup.hp.com>, jem@hpcupt3.cup.hp.com (Jim McCauley) writes:
> Clark Goble writes:
> 
>> But
>> the Lisp like programming you gave still causes a few problems, unless
>> you use it consistantly.
> 
> Inconsistent use of any programmable interface is hazardous, to say
> the least.

Yes.  But a good Mac based CLI or script language would have to be such that
people could use it without having to know it well.  The big advantage of a Mac
is that I can use seldom used programs and still do what I want quicly and
easily.  On my Sun I spend quite a few minutes figuring out how to make the
find command do what I want, or write a script for awk etc.  The Sun has more
power in many ways, and certainly more speed.  yet I find that it takes a
fraction of the time to get things done on my Mac.  I think this extends to the
CLI discussion.  Should you need to learn a langauge to make the computer do
what you want?  Those who wish to can (C, Pascal, Forth, etc).
 
>> If you have a good metaphor (data in a pipe)
>> then it is easy for the user to quickly do things.
> 
> The Lisp metaphor is quite simple: a function evaluates its arguments
> and passes the results as an argument to a successor function.  I
> taught this notion to elementary-school children through the use of
> the Lisp-like Logo language (and simpler terminology!), and they
> grasped it without difficulty.  The prefix notation of Lisp is no
> challenge to learners if it is introduced in a reasonable way.

Relative to what?  C or Pascal?  I learned C in a day.   C++ took a little
longer, but that was because you have to reorient your mind to object thinking.
But no language is as easy to use as the finder, that I have seen.
I'm not sure that functional metaphors are ideal for the script language., 
This would be doubly true for Apple Events.  Yet, unless I am mistake I think
this is more or less the idea behind Frontier.  (Never used it though)
> 
> English is a wonderful language for people and a terrible one for
> computers.  Functional languages are reasonably comprehensible to both
> parties.
>
Not necessarily.  Having TAed a Math Modeling class for people who had had
Algebra, I can testify that the concept of a function is not intuitive to many,
many people.  To people in the sciences it is obvious.  But most people are not
only not in the sciences, but are paranoid about things relating to the
sciences.  Remember, the Mac is the computer for the rest of us.  I agree that
fucntions are great.  One reason why I use Unix and C.  But I know my Mom would
freak out if she had to use the computer this way.
 
> 
>> But many people want a computer to
>> be an invisible tool.
> 
> It is worth pondering what this "invisibility" costs.  One can argue
> that freeing the user from any obligation to understand his computer
> allows him to concentrate on other tasks.  But consider the insidious,
> ubiquitous and progressive "dumbing-down" of the user's technical
> capacity and the consequences of the sequestering of computer
> knowledge to an expert elite.  The computers are out on the people's
> desks, but the expertise is somewhere behind glass walls.  This is not
> what the personal computer "revolution" was all about.

In my experience this is the fundamental difference between PC users and MAc
users and probably why they will never understand one an other.  Just look at
the silly flame wars here.  I consider myself a technical user, but I love
having the computer invisible.  Probably the closest I'll get to having a
Zen-like experience.   (-:
> 
>> Doing the act should almost be unconcious.
>> 
>> That is always my test of good mac software.  Can I do it without thinking
>> much beyond what I want to accomplish.
> 
> Are users limited in any substantial way if they become expert in the
> use of tools, but they remain ignorant of the nature of their tools?
> That is the question of this age, and our fate is tied to it.
>
I breath quite well without knowing the details of the breathing process.
Likewise I plug things into wall sockets without needing to know about AC
circuits.  Now I personally love to knwo these things.  It is the reason I went
into Physics.  And I find that knowing helps me.  But is it necessary?  I do
acknowledge though that many problems in our society are due to ignorance on
the part of our populace.  The science is magic syndrom.  But I think knowing
the details of the MacOS isn't required for computer literacy, any more than
knowing Maxwell's laws is required to use a TV.

 
>> And in a real sense Apple events are more
>> powerful than anything under UNIX.  Applications become the programming
>> language.
> 
> I must investigate Apple Events.  I suspect that they owe something to
> the "hairy control structures" that Carl Hewitt investigated for the
> Actor language in the 1970s.  Just as the classic Lisp paradigm of
> "multiple inputs/one output" transcends the one-dimensional nature of
> the Unix pipe, "hairy" control structures move beyond Lisp to allow
> reasonable structuring of multiple (even conditional) outputs to a
> variety of receiving functions.  User-level representation of such
> structures and communication channels in any interface (character or
> bitmapped) remains a challenging problem in cognitive science.

Yes.  I am just waiting to see how they are going to be controlled.  I have no
problem with using them in a programming like language.  I jsut wish for Q&D
tasks that my pipe idea or something bettert is also available.> 
> 
> Functions are a better idea.  Lisp, Scheme -- heck, even Logo --
> present a fundamental improvement over pipes.  If a GUI permits the
> implementation of comprehensible control for "hairy" structures, then
> I will enthusiastically include it in my own toolbox.

Well I am not convinced that it is ideal for a CLI.  However you have intrigued
me about LISP.  I must confess only a superficial knowledged of it.  And that
was gained mainly in designing a metaphor for an other language.  But I am now
looking into it again.  

Clark Goble
goble@sofya.math.byu.edu