Marc Eisenstadt wrote:
> SUMMARY: 1985-1995 $1000 bet predicted scarcity of end-user-programming
> [...]
> At the 1985 Empirical Studies of Programmers conference I made a public
> bet [...] arguing that end-user-programming would *NOT* be nearly as
> pervasive as most of the attendees seemed to believe [...]
> even TEN YEARS from the time of the bet (i.e in 1995).
>
> In my opinion, I won easily.
Having worked in the computer and, more recently, the
Internet industry since the late 80s, I have watched the evidence
of this through the lack of uptake of products intended for
end-users.
I'd been programming for a living since the late 80s, and spent
the last few years in my programming career as a contractor,
specifically to use the database programming environment,
Omnis7. Omnis7 is a 4GL and was marketed as being programmable
by anyone. It attempts this by use of a very wordy language
and a point-and-click interface - horrid for an experienced
programmer - and yet people hired contractors to program it
because it was awful to develop in.
For the last 3 years I've worked as a web consultant and
developer. Although HTML isn't a programming language, it is
often talked about by end-users as if it was and so perhaps
something can be learnt from how programming and editing
tools are portrayed.
The stigma against programmers and anyone "technical" is very
apparent in our work. There is a very real divide between
IT and other departments. IT are said not to live in the
real world, be uninteresing and lack social skills.
I believe that the explosion of interest in the Internet
and the subsequent backlash has done a lot to damage the
image of programming, because of the newfound infamy of
"nerds". People seem to avoid being associated with doing
anything remotely like programming. With regard to the web,
this has meant a horror and avoidance of learning HTML,
despite it only taking a few minutes to learn the basics
(although I think that the backlash against learning HTML
has been encouraged by the product manufacturers).
So I find myself again in the position that a client
has asked me to "program" (their word) their end-user tool
for them, FrontPage.
I think that the other issue is the power available in
the end-user tool. Perhaps programmers are brought in
when the user is frustrated with the lack of scope and
flexibility in the tool. For instance, people are now
creating their own web pages but they still have to go
a programmer to write a script for anything other than
a simple form.
Developing effective computer systems (that is, tools
for end-users) is really not easy and, therefore, it is
not quick. When time is money, companies tend to develop
products quickly (and badly) and put their efforts into
marketing. Looking at the web, with companies like
Microsoft who are able to put out a new version of their
browser every 6 months, what small company can afford to
spend time developing a tool properly? And with strong brands
already battling in the marketplace, who will pay any
attention to an unknown?
I've explored products like HotMetal and FrontPage, found
them quite obscure at doing simple tasks and wonder how
people can possibly learn to use them effectively. If
people can do such a bad job on an end-user tool for
a language as simple at HTML, what are they like for
real programming environments?
Have a look at http://www.jobserve.com/database/todays/contract/
to find out what languages people need contractors for.
I was amused to find just now:
Web developer
You will need to have a good background in Web Development,
with emphasis on Perl. Any other experience such as HTML,
Java etc would be of value.
Out of the 4159 contracts listed, 189 require knowlege of
Visual Basic, 21 for Microsoft Word, 36 for MS Excel, 89
for MS Access, 3 for Smalltalk. Given that contractors are
paid at least #1000/week, people who hire them must
think it is more cost-effective for an "expert" to use
them than to get their own users to learn them. (The
irony is that programming environments were not designed
for expert programmers and so are often a hindrance.)
So, why aren't end-users programming? Is it because
the tools are badly designed, too hard, don't do what
people want or because users don't want to be seen to
be programming?
Paola