Когда стоит использовать методы S4 в R-программировании?

Я регулярно программирую на R в профессиональном контексте и пишу пакеты для клиентов или сотрудников. Некоторые из программистов здесь имеют опыт работы с Java и настаивают на том, чтобы делать все объектно-ориентированным способом, используя методы S4. С другой стороны, мой опыт показывает, что реализации S4 часто работают хуже и вызывают гораздо большую головную боль при попытке заставить код делать то, что вы хотите.

Я определенно согласен с тем, что в некоторых случаях вы должны иметь возможность создавать сложные объекты или добавлять существующие объекты контролируемым образом. Но в большинстве случаев реализации S4 можно легко сделать с использованием классических списков, без всяких хлопот, таких как определение standardGeneric, методов, конструкторов, инициализаторов и тому подобного.

Когда вы планируете писать реализации S4 для R?

РЕДАКТИРОВАТЬ: Для ясности, я ценю ответы и обсуждение ОО в целом в R. ООП может быть проведено множеством способов в R, но мой вопрос действительно нацелен на дополнительную ценность использования методов S4 конкретно.

Ответы на вопрос(7)

Ваш ответ на вопрос