Here's a refresher on the history of the R project:
- 1992: R development begins as a research project in Auckland, NZ by Robert Gentleman and Ross Ihaka
- 1993: First binary versions of R published at Statlib [see update, below]
- 1995: R first distributed as open-source software, under GPL2 license
- 1997: R core group formed
- 1997: CRAN founded (by Kurt Hornik and Fritz Leisch)
- 1999: The R website, r-project.org, founded
- 2000: R 1.0.0 released (February 29)
- 2001: R News founded (later to become the R Journal)
- 2003: R Foundation founded
- 2004: First UseR! conference (in Vienna)
- 2004: R 2.0.0 released
- 2009: First edition of the R Journal
- 2013: R 3.0.0 released
- 2015: R Consortium founded, with R Foundation participation
- 2016: New R logo adoptedt
According to the paper, "R began as an experiment in trying to use the methods of Lisp implementors to build a small testbed which could be used to trial some ideas on how a statistical environment might be built." It all stared when
… Robert Gentleman and I became colleagues at The University of Auckland. We both had an interest in statistical computing and saw a common need for a better software environment in our Macintosh teaching laboratory. We saw no suitable commercial environment and we began to experiment to see what might be involved in developing one ourselves.
The paper provides fascinating insights into the beginnings of the R project, and the similarities and differences between it and the S language that preceded it. It's also interesting to see the future goals of the R project as envisioned back in 1998: "to produce a fee implementation of something 'close to' version 3 of the S language"; "development of an integrated user interface"; to get substantial use out of R for statistical work and teaching". I think it's fair to say that in all those areas, especially the latter, the R project has succeeded beyond measure.
Update: The first public announcement about R appears to have been a post by Ross Ihaka to the s-news mailing list on August 4, 1993. This pre-dates the online archives, but I reproduce it below (with some minor formatting) for the record. (Grateful thanks to reader SK for providing this email from personal archives.)
Date: Wed, 4 Aug 93 14:01:31 NZS
From: Ross Ihaka
To: [email protected]
Subject: Re: Is S available for a Macintosh personal computer?
Joseph B Kruskal writes:
If anyone knows of an S available for a Macintosh computer,
I would be pleased to hear about it.
About a year ago Robert Gentleman and I considered the problem of obtaining decent statistical software for our undergraduate Macintosh lab. After considering the options, we decided that the most satisfactory alternative was to write our own. We started by writing a small lisp interpreter. Next we expanded its data structures with atomic vector types and altered its evaluation semantics to include lazy evaluation of closure arguments and argument binding by tag as well as order. Finally we added some syntactic sugar to make it look somewhat like S. We call the result "R".
R is not ready for release at this point, but we are committed to having it ready by March next year (when we start teaching with it).
Because there is likely to be some interest in it we are going to put some (SPARC/SGI/Macintosh) binaries on Statlib later this week so people can give it a test drive.
I'll send out a short note when the binaries are available.
THIS IS NOT AN OFFICIAL RELEASE. PLEASE DON'T BUG US ABOUT IT. WE ARE FULLY OCCUPIED WITH TEACHING AND ADMINISTRATIVE WORK AT PRESENT.
WHEN THE SOURCE CODE IS STABLE, WE WILL MAKE IT AVAILABLE THROUGH STATLIB.
(Robert will be at the ASA meetings in S.F. next week ...)
Some Notes About R
1. We have tried to make R small. We use mark/sweep garbage collection and reference counting to keep memory demands low. Our primary target platform is the Macintosh LC-II with 2-4Mb of memory.
2. A side effect of 1) is that the interpreter seems to be fairly fast, particularly at looping and array mutation.
3. We are trying to make R portable. We have used ANSI C and f2c (or native unix f77) with as little use of host operating system features as possible. At present we have verified portability to Unix, DOS, MacOS and we expect to be able to port easily to any system with an ANSI C Compiler.
4. R should look familiar to S users, but some of the semantics are closer to those of Scheme. For example, We have abandoned the idea of call-frames in favour of true lexical scoping because it provides a better way of retaining state from function call to function call.