[R] Can't there be a cd command?
Joerg van den Hoff
j.van_den_hoff at fz-rossendorf.de
Tue May 16 11:46:48 CEST 2006
Manuel López-Ibáñez wrote:
> Jan T. Kim wrote:
>> That's an idea I like very much too -- much better than the currently
>> popular idea of "protecting" users from the "unfriendliness" of
>> programming, anyway...
>>
>
> It is just my opinion that the amount of mail in R-help speaks volumes
> about the current "friendliness" [1], or lack thereof, of R. Perhaps I
> am just the only one who thinks this way...
>
> [1] http://en.wikipedia.org/wiki/Usability
>
>
I think you are 100% right: the r-help list says it all. needless to
say, R is a great achievment without any doubt, but claiming that it's
easy to use (beyond the most basic arithmetics) is really wishful thinking.
I don't think programming R is easier than programming C, for example.
This is not to say that it takes the same time to solve the same problem
in both languages, since in R many, many things are already there
(either in the language (vectorized computations) or in the packages).
but the quantity 'number of new lines of working code per hour' should
be about the same.
I have used MATLAB/octave previously. in comparison to R, the MATLAB
language sure is not pretty, not consistent and less powerful, but
without any question easier. and of course, the interactive use is
facilitated by the absence of lots of paranthesis and quotes and the
way, unknown commands are resolved by looking them up in the search path.
but that's not a situation, one should complain about: R simply cannot
be everybody's darling.
what I always find a bit strange is the explicit claim/aim to blur the
distinction between users and programmers: one could postulate the same
aim (or property) for MATLAB, octave, IDL, or even any other language
providing an interactive interpreter (python, ruby, Tcl, C++/Cint/root,
...). in my experience the distinction between users (rather:
non-programmers) and programmers always is quite sharp.
again, in comparison to MATLAB (where I have some experience) I have
noted that the 'users' (a.k.a. non-programmers) have more difficulties
in using R interactively, mainly for the following reasons:
- difficulties in understanding the neccessety for all those paranthesis
(why can't I just say 'ls'?)
- subsetting ((x), [x], [[x]], $x, $"x", ['x'], ["x"], [["x"]], ... or
what!?)
- R's strong functional orientation: R encourages writing functions with
_lots_ of arguments which you must understand/know of (even if you
don't touch the defaults) and the user must construct the suitable
function call and launch it to get his/her results.
of course one can write interactive ('please enter ...') programms, but
usually does'nt since it 's much more convenient from the programmers
point of view to utilize the functional approach). in a way R's
functions behave like UNIX commands including lots of command line
parameters: they are great for experienced
users but the average guy neither understands
tar c[bBDeEfFhiklnopPqvwX@[0-7]] [block] [tarfile]
[exclude-file] {-I include-file | -C directory | file |
file} ...
nor
plot(x, y = NULL, type = "p", xlim = NULL, ylim = NULL,
log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
ann = par("ann"), axes = TRUE, frame.plot = axes,
panel.first = NULL, panel.last = NULL,
col = par("col"), bg = NA, pch = par("pch"),
cex = 1, lty = par("lty"),
lwd = par("lwd"), asp = NA, ...)
easily.
so, to make a long story short: it would'nt harm avoiding the claim that
R is 'easy'. it's probably more of the "you either love it or hate it"
variety (so the unicycle metaphor occuring in this thread fits very
well, I believe).
joerg
More information about the R-help
mailing list