Object-Oriented Programming, Functional Programming and R
John M. Chambers

TL;DR
This paper reviews the integration of object-oriented and functional programming paradigms in R, highlighting their origins, evolution, and how they support complex statistical software development.
Contribution
It clarifies the historical development and distinctive implementation of object-oriented and functional programming in R, emphasizing their combined influence on software design.
Findings
Functional programming supports reproducible, well-defined software.
Object-oriented programming manages complexity effectively.
R uniquely combines these paradigms, influenced by S language and earlier libraries.
Abstract
This paper reviews some programming techniques in R that have proved useful, particularly for substantial projects. These include several versions of object-oriented programming, used in a large number of R packages. The review tries to clarify the origins and ideas behind the various versions, each of which is valuable in the appropriate context. R has also been strongly influenced by the ideas of functional programming and, in particular, by the desire to combine functional with object oriented programming. To clarify how this particular mix of ideas has turned out in the current R language and supporting software, the paper will first review the basic ideas behind object-oriented and functional programming, and then examine the evolution of R with these ideas providing context. Functional programming supports well-defined, defensible software giving reproducible results.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
