higher level languages

Lex Spoon lex at cc.gatech.edu
Sat Feb 28 17:12:41 UTC 2004


"Gary McGovern" <zeppy at australia.edu> wrote:
> Can anyone say what the highest level languages will end up like. I like
> tiling but, I think there is something else. I think what I've used in
> Squeak might fall a bit short but I cannot quite put muy finger on it. 
> 
> I think drawing think drwing on the screen is the  end - but how to script
> it , program it I think is still a problem.
> 

I don't know about the hard question.  That is wonderful to think about,
however.  Roughly, I think of (a) having lots of convenient *libraries*
around, and (b) I think of having my algorithms being effortless to
encode for someone who is experienced with the system.  Oh, and (c), I
suppose there will be a major language where non-experienced people can
still struggle along and make useful things happen.  This latter one
would include lots of friendly graphics and lots of drag and drop and
lots of feedback from the tool.  But more specifically?  I have no idea.

A few notes, however.

The available libraries in a language are an important topic that is
often overlooked.  If you want to make a "simple" web server it could
require ten lines  of code or a thousand, depending only on whether you
have a web server handy in your library.  The library gives you the
words that your language can use.

It is misguided to try and make all tasks accessible to completely
inexperienced people.  I don't think you should need a college degree to
do most programming on computers.  But, like driving a car or making
waffles, people should expect to spend some time on it before
internalizing it.  This trend in HCI really bothers me.  You shouldn't
have to study (much) to use a toaster, but a VCR really is complex
enough that it requires some thought and -- yes -- study of some sort to
even understand what it is doing.  Likewise, for computer programming. 
Make it easy for people who know what a variable is or who know that
tapes hold recorded video, but if you don't understand variables and
don't understand what a video is, you need to put in some study time. 
Sure, build the tutorial into the interface if you want, but at some
point the user really needs to put the brain in gear.

Finally, don't blow off text.  Text is very powerful both for people and
for tool implementors, and so IMHO it should only be abandoned when you
are working on the extreme edges of non-studying users.  People learn
Smalltalk syntax in a day or less, and Smalltalk syntax is enough to do
practically anything.  Non-programmers do all kinds of things with
spreadsheets (or, maybe they are programmers now).  So don't obsess over
the text.  Heck, even Squeak's etoys are using tiles *to build
sentences*.


-Lex



More information about the Squeak-dev mailing list