I'd love to see an "R for rubyists/pythonists/...", basically an R tutorial aimed at reasonably experienced programmers which explains what you need to know about the quirks of R to properly grok it as a language, how it differs to ones you're familiar with, etc.
As opposed to a tutorial aimed at the "I really just want a recipe to achieve statistical task xyz" crowd.
In particular: every time I delve back into R, I forget how its funky data structures work.
Well, as far as I remember lists (which are used like hash tables, as they associate variables with names, see http://cran.r-project.org/doc/manuals/R-lang.html#List-objec...), implement indexing as an O(n) operation. Only after they reach a certain size are they converted to a hash table.
Everything is pass by value with some cases being marked as 'safe', i. e. if you know beforehand the variable won't be changed it's not copied to save time.
The reason for this is that the project was designed by people who were primarily statisticians, and the most glaring performance problems were later fixed by hacks and 'special cases'.
Disclaimer: Most of this I know second hand from a coworker who's an author of many R packages. I worked with R's interface to C and it wasn't a pleasant experience.
As opposed to a tutorial aimed at the "I really just want a recipe to achieve statistical task xyz" crowd.
In particular: every time I delve back into R, I forget how its funky data structures work.