Efficient coding considered har
mcdonald at uxe.cso.uiuc.edu
mcdonald at uxe.cso.uiuc.edu
Sat Nov 5 00:46:00 AEST 1988
I've observed a lot of users using a lot of programs over a long
time. I note that the order of the following list has changed over
the ages. But today I really believe it to be true.
User's Program Priority List (1 is highest priority)
1. Cost is <= amount of money purchaser has at hand.
2. Utility. The program must do what the user need it for. It must have
ALL necessary features. For example, if the user's name is
Co^te', a word processor is useless if it can't get the accents
over the letters. If a word processor can't produce integral
signs it is useless to me. If a spreadsheet can't produce pound
signs (which this medium can't!), it is useless in England.
3. Look and feel. It should look nice and be easy to use. For a
large and growing segment of the world, this means it should
work like a Macintosh. Lacking that, it should be full-screen,
and use all the functionality of the computer it runs on.
For example, word processors should properly display imported
graphics. Fonts should appear on the screen as they do on paper.
Menus and commands should be used INTELLIGENTLY, at the whim
of the user. There should be more flexibility here than is usually
the case - a Mac failing, slowly being remedied.
4. Speed. Speed. Speed. More speed.
5. Small memory usage.
6. Bug-free. Note that this is number six. Users will tolerate small
bugs if a program is otherwise suitable. But they will mercilessly
flame the seller. If that seller give an essentially free update
that fixes the bugs, users will not actually blacklist the seller.
7. Portability of program. Users would like to be able to use the
same program on different computers.
8. Cost. If item #1 is met OK, actual cost doesn't seem to be
very important.
_________________________________________________________________________
User's don't care AT ALL about items below this line. This implies
that they matter only as they impact things above the line.
A. Portable source code. Users don't read source code. But they do
do know what "vaporware" is.
B. Easily maintainable source code. Users don't read source code.
C. Language program is written in, whether it is "structured" or
not, whether it is "object oriented" or not. Users don't read
source code.
Of course, if the user and programmer are the same, or closely related,
the order may change.
Comments and flames are welcome.
Doug McDonald (mcdonald at uiucuxe)
More information about the Comp.lang.c
mailing list