[R] Is R really an open source S+ ?

Martin Maechler maechler at stat.math.ethz.ch
Wed Jan 15 09:43:03 CET 2003

>>>>> "AndyL" == Liaw, Andy <andy_liaw at merck.com>
>>>>>     on Tue, 14 Jan 2003 20:33:42 -0500 writes:

    >> From: Rex_Bryan at urscorp.com [mailto:RexBryan1 at attbi.com]
    >> This is not a criticism.  I'm just curious.  Is there an 
    >> effort to keep R comparable to S+?

{see also below}

First clarification:  
We always made a point of being an open source implementation of S.
S+ , correctly "S-PLUS" (all caps), based on the original
S implementation from Bell Labs, is another implementation.
And as a matter of fact, S+ used to be several quite different
ones, Windows and Unix Versions were quite diverse and even for
the same platform, changes between release numbers were considerable.

    >> Or are the two languages diverging?  

  (``one language, two dialects'' is what the ESS team uses,
   ``one language, two engines'' or ``two implementations'' is
   used in MASS (the book) and other places)

There's a real danger I would regret quite a bit...

Our (R-core) strategy has been to stay compatible with S-plus if
there was no strong reason against it.
Nowadays, it has become quite a bit more important to stay
back-compatible with older versions of R (if there was not a
good reason...).

    >> I am doing what probably legions have done before me,
    >> and legions will after me...using R on examples from text 
    >> books written with S+ code.  

We hope there will be more text books in the future written with
R code ...  there's Peter Dalgaard's good introductory statistics book already,
and MASS (4th ed. in particular) really written for both (or all) engines.

    >> Most of the time everything appears to be equivalent.
    >> And then there are amazing divergences in commands.  For
    >> instance:

    >> S:  stdev
    >> R:  sd

    AndyL> In older versions of Splus (and R), neither existed.
    AndyL> People simply do sqrt(var(...)).
    >> why this difference?

Just to add to this particular example:  
sd()    has existed in R since the very beginning (~ 1996).
stdev() was introduced into S-plus for version 6.0 (~ 2001) only.
Guess who is not caring about compatibility..

In the past, we have had good contacts with Insightful staff and
efforts were started to at least stay compatible for *new* developments.
Maybe Insightful costumers using both S+ and R should voice
their opinion towards Insightful.

There's much more to be said on this topic, in particular,
copyright and licence problems.
Just let me emphasize again: 
     R is "GNU S",  *not* an S+ clone]

Martin Maechler <maechler at stat.math.ethz.ch>	http://stat.ethz.ch/~maechler/
Seminar fuer Statistik, ETH-Zentrum  LEO C16	Leonhardstr. 27
ETH (Federal Inst. Technology)	8092 Zurich	SWITZERLAND
phone: x-41-1-632-3408		fax: ...-1228			<><

More information about the R-help mailing list