Доброго времени суток, господа!
Собственно, сабж. Но сразу оговорюсь, что под ООП в данном случае подразумеваю то самое махровое ООП из пропаганды маркетолухов, Java, C# и т.д.
Почему современные языки предпочитают использовать трейты, интерфейсы, композицию структур, что угодно, даже макаронного монстра, но только не популярные ООП механизмы?
Где находится та грань, когда нужно использовать ООП? Вот взять те же игры, многие легендарные игры написаны и без использования ООП. Так как же поступать? Как применять инструменты правильно?