R and S: A brief Comparison

R is a programming language used by Master's degree students for statistics and graphing which stemmed from programming language S approximately 1995 at AT&T, now Lucent Technologies. S, born around 1976 and still in use today, is based on C and Fortran and portrays numbers and statistics in written form without need for communication with a computer. S was made to be an interactive alternative to Fortran. Given R's origin in S, much of R is written in S. R is capable of more than S, however, and thus generally sees more use than S in computer programming.


R depicts statistics graphically and via use of C, C++, and Fortran, allowing for greater flexibility when depicting data. Python and Java can additionally be used to modify states and behaviors, creating objects surpassing need for translation into a computer or objects bound by R's databases: though many packages expand R since R's inception, R lacks hexadecimal or binary languages interfacing directly with a computer. Thus, flexibility is further augmented by use of Python, Java, C or C++ when compared to S. 


R also features ordered value lists, or vectors; lists with one-number-to-one-object correspondence, or arrays; and matrices, or lists with 1-number-to-2-labels correspondence. This strengthens use of high-quality graphs in R, something R is known for: one graph may bear multiple relationships, saving users time and energy otherwise spent displaying those relationships on separate graphs. Graphs in R also feature mathematical symbols, e.g. four basic operations, positive and negative symbols, and fractions. Given these features, graphs of high detail can be and are created in R, a capability S lacks.


Given these features, R is generally more useful than S. S lacks detailed graphing ability and runs more on C and Fortran, the latter of which is hardly directly used nowadays when compared to Java and Python. Given range of features available to R users compared to S, R is more useful than S, though the latter is still useful provided R is formed by it.



1. An Introduction to R, Section 5.1: Arrays. Retrieved in 2010-03 from https://cran.r-project.org/doc/manuals/R-intro.html#Arrays.


2. Becker, Richard A., A Brief History of S, Murray Hill, New Jersey: AT&T Bell Laboratories, archived from the original (PS) on 2015-07-23, retrieved 2015-07-23


3. Chen, Han-feng; Wai-mee, Ching; Da, Zheng. "A Comparison Study on Execution Performance of MATLAB and APL" (PDF). McGill University. Retrieved 16 February 2022.


4. Dalgaard, Peter (2002). Introductory Statistics with R. New York, Berlin, Heidelberg: Springer-Verlag. pp. 10–18, 34. ISBN 0387954759.


5. Eddelbuettel, Dirk; Francois, Romain (2011). "Rcpp: Seamless R and C++ Integration". Journal of Statistical Software. 40 (8). doi:10.18637/jss.v040.i08


6. https://en.bmstu.wiki/S_(programming_language). Retrieved 22 February 2022.


7. https://www.google.com/amp/s/www.geeksforgeeks.org/introduction-to-arrays/amp/. Retrieved 22 February 2022


8. https://www.google.com/amp/s/www.geeksforgeeks.org/difference-between-compiled-and-interpreted-language/amp/. Retrieved 22 February 2022.


9. Ihaka, Ross; Gentlman, Robert (September 1996). "R: A Language for Data Analysis and Graphics" (PDF). Journal of Computational and Graphical Statistics. American Statistical Association. 5 (3): 299–314. doi:10.2307/1390807. JSTOR 1390807. Retrieved 12 May 2014.


10. Jacobsen, Ivar; Magnus Christerson; Patrik Jonsson; Gunnar Overgaard (1992). Object Oriented Software Engineering. Addison-Wesley ACM Press. ISBN 0-201-54435-0.


11. R manuals. "Writing R Extensions". r-project.org. Retrieved 13 September 2018.


12. https://www.r-project.org/about.html


13. "What is an Object?". oracle.com. Oracle Corporation. Retrieved 13 December 2013.


You must be logged in to post a comment.

About Author
Recent Articles