From: jdunning@phoenix.Princeton.EDU (John Alan Dunning)
Subject: Re: Simple programming language for Mac
Originator: news@nimaster
Organization: Princeton University
Date: Mon, 11 Jan 1993 04:53:43 GMT

In article <1993Jan10.224520.11539@ultb.isc.rit.edu> sjk6119@ritvax.isc.rit.edu writes:
>>How can a programming language be _too_ easy?
>
>Here's how:
>
>HyperCard is great. I luvvit. However, when I was first using HyperTalk
>and HyperCard, I didn't consider it programming. It was just the feel
>of the environment. It was too "easy" to link things together. There was
>no feeling that I had created a program, but rather linked cards, and 
>done some simple scripting. HyperCard/HyperTalk is great for doing custom
>stuff, but IMHO, it is not the appropriate way to get people interested
>in programming. It's tough to explain, but if you're trying to figure
>out what would appeal to a kid, take a kid's point of view (i'm a kid).
>I was hooked on programming after taking a BASIC course so long ago. When
>I took HyperTalk, it was too "fun" and "easy", and just didn't seem like
>something I wanted to continue with. If you can present HyperTalk to kids
>in such a way that they'd feel like they were really building applications,
>that's great! Another option is SuperCard. That can do color, and can do
>stuff that's a little more application-like. I don't want to start a flame
>of HyperTalk vs. BASIC, because that's obvious. HyperTalk is a better
>language. However, more of my friends and classmates know and use BASIC
>than HyperTalk. It's just something about writing actual code that's "fun".
>
>-Scott J. Kleper
>"Sgt. Kleper"
>age 15

I agree that writing actual code is fun.  But I think most people
can't imagine why anyone would want to program.  Too many piddling
little details, which I can certainly sympathize with.  The current
code-compile-debug cycle is incredibly primitive and inefficient.
There's simply no excuse for runtime or compile-time syntax errors,
the sorts of errors which really frustrate beginning programmers.
The computer knows what the correct syntax is; it should be checking
it as you're writing the code.  We've all better things to do than
look for misplaced semi-colons or missing braces.  So if you can spare
beginners these frustrations, why not do it?

I think we're coming at this problem from two different perspectives.
It seems like you're looking for a powerful, open-ended language
which beginners can really sink their teeth into once they get beyond
the basics.  HyperTalk certainly isn't that language, which is why you
suggest BASIC, because it's more challenging.

But I think the vast majority of computer users don't want anything to
do with coding, and never will.  Very few people can see the elegance
of "while (*t++ = *s++) ;".  But why should they?  Why would anyone
want to program in the first place?  Because they like the process of
coding and/or they want to accomplish something which they are unable
to with the currently available tools.  I think most users feel the
second way sometimes, but almost never the first.  

So I think what needs to be developed is a system that lets average
users customize their computer and make it do exactly what they want
it to.  Something like Unix shell scripts or AppleScript, but at the
same time both more powerful and easier to use.  That's why I
suggested something that lets you link ready-made objects graphically
to create new apps.  It lets users create new functionality quickly
and painlessly.  You can also give the same system to kids to learn on,
because it takes an easy-to-learn building block approach, and they
can continue to use the sam system as they get older.  I think it's
important to have something that's both fun and easy to interest most
kids and most adult users.  But for the more adventurous, like
yourself, you can always just open up the individual obects and start
writing real code to create new objects.  

Sorry for ranting on like that.

John
Newsgroups: comp.sys.mac.games