> 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?
Later responses stated that this person is not a professional programmer
but is an end user programmer. I would like to challenge this and in
the process try and provide three major groupings:
1. Professional programmers develop things for other people.
2. People who should be using professional techniques because their
system is large enough and central enough to warrant it. Your physicist
example about is such an example, as was my final year project and
PhD thesis. The physics is what is being studied but the tool is a
computer system. This is professional programming but not in sense 1.
3. Traditional EUP. The person who needs to do something small and
quick, better done by the domain expert and as quickly done by them as
a systems professional.
The issue here is the classification of EUP as unprofessional and second
rate. Why make this distinction? It continues the idea that anyone can
program a computer, they don't need skills and knowledge -- a reaction
against the old high priest attitude of the computing professionals.
> 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.
I support this. The consequence is that EUP is not for the untrained,
it is simply a mode of systems development. A mode appropriate to people
who use computing systems but are not focussed on developing the systems.
> 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, 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.
I would say this is just a reinforcement of traditional role models.
Perhaps we should drop the perjorative label End-user Programming and use
a label with no baggage such as task-oriented scripting. This removes
the relationship to individual and role and replaces it with a focus
on purpose.
Note I use the term scripting. I suspect we need to focus more on
scripting and not traditional languages as the appropriate tool for
domain experts who are not systems development professionals to develop
the systems components that they require.
Russel.
========================================================================
Prof Russel Winder Professor of Computing Science
Head of Department
Department of Computer Science Phone: +44 20 7848 2679
King's College London Fax: +44 20 7848 2851/+44 20 7848 2913
Strand, London WC2R 2LS [EMAIL PROTECTED]
UK http://www.dcs.kcl.ac.uk/staff/russel/