More on “The Part-Time R-User”

Win-Vector Blog 2017-08-06

I have some more thoughts on the topic: “the part-time R-user.”

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.