S is a language and system for organizing, visualizing, and analyzing data. It has been a project of statistics research at Bell Labs since 1976, evolving continually through that time. In 1998, S became the first statistical system to receive the Software System Award, the top software award from the ACM.
This page is a brief author's-eye view of the system, with pointers to other sources of information.
S has from the start been aimed at programming with data; that is, at describing to the computer some graphical view, numerical summary, statistical model, or other information you want to produce. It occupies a middle ground between packages that emphasize standard operations and research projects in language design that start from a more abstract goal. S has always been designed to be used in practice, but with an emphasis on users who wanted to turn new ideas into software.
Although S was invented at Bell Labs, and we continue to be involved very much in its evolution, the implementations actually available, S-Plus and R, are distinct from the S language itself.
S-Plus products are distributed by the MathSoft Corporation. In particular, the S-Plus language is based on the S software from Bell Labs; MathSoft has an exclusive license with Lucent Technologies to distribute software based on S from Bell Labs. For more background on S and S-Plus, click here.
The R language, is an open-source system distributed under the GPL license, which is sometimes described as a ``free clone'' of S. More accurately, it is a separate project, based on the S language, but with a number of additional software directions.
Finally, we should mention the Omegahat software. Like R, it is a joint, open-source project for statistical computing. In part, it is concerned with next-generation software. However, getting there from the current generation software is also part of Omegahat. In particular, there are a number of inter-system interfaces from the S language (S-Plus or R), and some tools for programming in the S language.
There are a number of books about the S language and its implementations. In particular, for detailed information I would recommend: