Path: utzoo!attcan!uunet!ncrlnk!ncrcae!ece-csc!mcnc!xanth!nic.MR.NET!tank!uxc!uxc.cso.uiuc.edu!uxg.cso.uiuc.edu!uxe.cso.uiuc.edu!mcdonald From: mcdonald@uxe.cso.uiuc.edu Newsgroups: comp.lang.c Subject: Re: Efficient coding considered har Message-ID: <225800086@uxe.cso.uiuc.edu> Date: 4 Nov 88 14:46:00 GMT References: <141@twwells.uucp> Lines: 58 Nf-ID: #R:twwells.uucp:141:uxe.cso.uiuc.edu:225800086:000:2555 Nf-From: uxe.cso.uiuc.edu!mcdonald Nov 4 08:46:00 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@uiucuxe)