> I'm not exactly clear what "end user programming" is.
> If a physicist, who would strongly object to being called a
> programmer, writes a 15,000 line program in FORTRAN 2000
> to solve a physics problem, is that end user programming?
IMO Yes.
> If I write an Excel script to manage my expenses, is that
> end user programming? [I am employed writing programs for
> other people to use.]
IMO Yes.
> I would argue that both of these are prefectly good examples
> of end user programming. If my examples are acceptable,
> then end user programming really has nothing to do with
> issues such as specification versus design, etc. It merely
> has to do with who the customer is.
Right. The programmer is the "end user", the person who
uses the system. The programmer's customer is herself.
If that isn't the meaning of "end user programming", it
should be, otherwise there's something rotten with the
definition of "end user". I think the original discussant
took aim at the "programming" part of EUP, drawing
attention to how small a part of the overal development
activity programming often plays.
Lots of people can program a system they use, including
trained developers (e.g. writing customization scripts
for Rational Rose). I would call Makefile writing EUP.
Probably most professional developers are EU programmers.
> If, on the other hand, end user programming can only
> be done by people who have no experience in programming
> in conventional notations, then the main thrust of end user
> programming must be to reduce the amount of learning that has
> to be done before useful work can be performed. If this is so,
> ...
I don't think its so. Obviously, less experienced programmers
constitute an important segment of the end user population,
hence the focus for research. I'd prefer to think that the
issue of reducing learning requirements for programmers is
an orthogonal issue to end user programming. How about making
programmers with 6 months experience be as effective as the
developer with 20 years (dreaming), or making the next language
you learn masterable in an afternoon?
> ...it would be interesting to characterize what
> things a professional programmer absolutely needs to know
> that an end-user programmer doesn't need to learn.
> Ruven Brooks
Yeah, www.swebok.org and computer.org/education/cc2001 would
sure like to know. The corollary question is: if EUP becomes
significantly easier for the untrained (play along with me
here), what characterizes the things that universities and
programmer certification courses will no longer need to teach?
Andrew