[R] The hidden costs of GPL software?
monch1962 at gmail.com
Wed Nov 17 23:59:31 CET 2004
Hopefully my experience with R may add something to this discussion.
I majored in computer science in 1983, with minors in mathematics and
statistics. As this was in the days when computers were largely big
centralised boxes with remote terminals, I didn't get to use computers
for stats while I was at uni.
Fast forward to a couple of years ago, and I've got to start "doing
statistics" on the computer for the type of work I now do. A friend
pointed me to R, so off I went. Between 1983 and then, I did a lot of
development, testing, documentation, management, troubleshooting, etc
work, so I think it's fair to say that, while my statistics knowledge
needed a top up, my computing background was very strong.
As of today, after approx 2 years of using R for relatively ad-hoc
tasks every few weeks, here's my thoughts about it:
- it's extremely powerful and well-maintained; kudos to everyone involved
- it's extremely concise; you can do a huge amount of work in very few
lines of code
- provided a particular task is close to one I've already done before,
using R I can extract info from a set of data at an amazing rate.
Tasks that would take me an hour or so with another programming
language or toolset, may take me under a minute using R (obviously
depending on the size of the dataset)
Problems arise whenever I need to step outside my existing R knowledge
base, and use a feature or function that I haven't used before:
- the help documentation in general desperately needs work,
particularly the examples. My thinking is that examples should pretty
much lead you through a trivial exercise using the tool being
discussed. This is very rarely the case with R, and the examples seem
to assume you fully understand how e.g. a library works and just need
a simple reminder of the syntax. For the purposes of comparison,
compare the documentation that comes with the Perl language; even if
you don't know what a function or keyword does, you can pretty much
read through the given examples and work it out without difficulty
- the GUI is pretty much just a working area on the screen; it's just
not "helpful". It would probably be reasonably simple to add menu or
toolbar options to help a user identify how they can actually achieve
a particular task in R (e.g. select a function from a drop-down list,
and get one-liner documentation about what it does), but that hasn't
been done. Many of the questions asked on this list (which are often
answered with "RTFM") are of the nature "I've got this conceptually
simple task to do, but I can't find out how to do it using R. Please
help"; this is gratifying to me personally, since I frequently
encounter the same problem. These issues are extremely frustrating,
as you often know the answer will be a one-liner but you may struggle
for hours or days trying to find it
As I said above, once you understand how to do a particular task in R,
you can leverage that knowledge to do similar tasks amazingly quickly;
the productivity that comes with using R in this context is
incredible. However, that productivity tends to disappear when you
need to take even a small step outside your existing R knowledge base.
Now maybe I'm the only occasional R user out here, and everyone else
is using it 8 hours a day and acquired my 2 years' worth of knowledge
in their first week of use. I doubt that is actually the case, and
the rest of us could really do with some help from the GUI.
Finally, please don't think I don't appreciate the mass of effort
required to get R to its current state. I do, and it's made my life a
lot easier than it would otherwise have been.
More information about the R-help