Я регулярно программирую R в профессиональном контексте, и я пишу пакеты для клиентов или коллег. Некоторые из программистов здесь имеют фон Java и настаивают на том, чтобы сделать все объектно-ориентированным способом, используя методы S4. Мой опыт, с другой стороны, заключается в том, что реализация S4 часто ухудшается и вызывает гораздо больший головной боли при попытке заставить код делать то, что вы хотите.
Я определенно согласен, что в некоторых случаях вы должны иметь возможность создавать сложные объекты или добавлять существующие объекты контролируемым образом. Но большую часть времени реализация S4 может быть легко выполнена с использованием классических списков, без всяких хлопот, таких как определение standardGeneric, методов, конструкторов, инициализаторов и т.д.
Когда вы рассматриваете возможность написания реализаций S4 для R?
EDIT: Для ясности я действительно ценю ответы, и обсуждение OO в целом в R. OOP можно сделать многими способами в R, но мой вопрос действительно направлен на добавленную стоимость использования S4-методов специально.