Surprisingly, R has a rich landscape of object-oriented programming (OOP) paradigms. Each with their distinct philosophies, trade-offs, and practical implications for teams building production systems. This talk cuts through the complexity to help R developers and data engineers make informed architectural decisions in a business context.
We begin with a concise tour of R's five principal OOP systems: S3, S4, Reference Classes, R6 and S7. Rather than treating these as academic curiosities, we examine each through the lens of real-world business software: How easy is it to onboard a new team member? Who uses these classes? Are some of them obsolete? S3's informality makes it the workhorse of CRAN and a natural fit for lightweight, package-style development. While S4 was developed to bring rigour through formal class definitions and multiple dispatch. It’s particularly popular in bioinformatics. R6, drawing on more familiar object-oriented conventions from languages like Python and Java, has emerged as the pragmatic choice for engineers building stateful applications, REST API clients, or reusable infrastructure components.
The talk concludes with a practical decision framework: a set of questions teams can ask to match their use case to the right paradigm. Attendees will leave with a clearer mental model of R's OOP landscape and concrete guidance for writing maintainable, scalable business code.