One of the attractions of R has always been the ability to compute an interesting result quickly. The R community is diverse and the projects of importance to its members range on all scales and motivating goals. In a discussion of programming with R it helps to distinguish three scales: small, medium and large. Programming in the small in R equals creating functions, by assigning a function object with the desired computations in the body and, usually, turning some of the inputs to that computation into arguments. The medium level in R programming comes with the recognition that the new software has some lasting value. Programming in the large is programming that serves the needs of a project with goals beyond the software itself. R is increasingly recognized as a valuable contributor when projects can benefit from data-based insights.