For a while, I worked in a company with a large group of physicists.
In terms of programming knowledge, they were extremely sophisticated,
doing things like organizing array structures to optimize cache hits
in multi-processor systems.  On the other hand, most of the software
they wrote could only be run/used by the author.  I remember one of
them saying that his program was very general and easy to use - all you
had to do was modify the source code in these three places to get it to
handle a slightly different case from the one for which the program had
originally been written.

Were these people "end users?"  or were they "programmers"?  

A more useful way to think about things might be in terms of two separate
dimensions:

programming knowledge
activity goal - getting an answer for yourself versus providing a tool that
other people can use

Ruven Brooks

Reply via email to