I have some more thoughts on the topic: “the part-time
I am thinking a bit more about the diversity
R users. It occurs to me simply dividing
R users into two groups, beginning and advanced, neglects a very important group: the part-time
R user. This leaves us teachers and package developers with an unfortunate bias.
The concept of “beginning
R user” implies a user who has near infinite time to adapt to our advanced
R user work style and other nonsense. “Beginning” is a transient state, one feels we can temporarily accommodate the beginners on our path to assuming them away.
However for a language such as
R which deliberately targets non-programmer populations (such as statisticians, scientists, medical professionals, and more) we must assume there is a permanent population of users that have other things going on in their lives. These are users that come to
R to make statistical inferences, do science, study social policy or some other non-programming task.
This means us
R package developers should work harder than those working in other languages to ensure:
- Our packages should be simple and intuitive (how low “cognitive load”).
- Our packages should obey common design principles such as the principle of least surprise.
- Our packages should have sensible and meaningful documentation and examples.
- Our functions should have sensible and safe defaults (you don’t have to set obscure options to get sensible behavior).
There are a lot more consequences that one can derive from the “part-time user” principle. However, I think the principle itself is probably the most important point.