AmdY
но к сожалению [топик] наводит на мысль, что всё же проще без ООП
Смотря
что проще.
Я недавно имел беседу на эту тему и сформулировалось вот что
(не претендую на истинность, это просто размышления):
ООП, в моём представлении - это попытка упростить
управление системой, усложнив её саму.
ООП ведь появилось не от балды. Это попытка как-то объять необъятные объемы кода. Попытка в очевидном направлении - мы так поступаем так всегда. Абстрагируемся от деталей, масштабируем изображение.
Из этого постулата уже вытекают разнообразные следствия.
Следствие: ООП - это write-only подход. В парадигме ООП ошибку проще (и правильнее!) исправить не в корне, а в ветках, сделав новую, с исправленным методом.
пример:
На стаковерфлоу вопрос, как избежать сообщения об ошибке о deprecated функции get_magic_quotes_gpc в Кохане.
Ответ: ни в коем случае не правьте в коде, унаследуйте класс, и в нем переопределяйте все, что хотите.
Сама идеология ООП заставляет нас не думать о том, что в корнях, что внутри, не оглядываться назад, а смотреть вперед.
Разумеется, у такого подхода есть недостатки. Наследованные классы наслаиваются друг на друга, как краска на скамейке. И в какой-то момент начинают отслаиваться...
Следствие: Любая иерархия классов - это уже
новый язык. Со своей документацией, соглашениями, идеологией. Это уже не РНР! Именно поэтому в данном топике так много споров: все говорят на разных языках.
Следствие: программа, написанная без ООП, всегда будет "проще" - проще в восприятии, понятнее окружающим - она написана на "всеобщем" языке.
Следствие: как всякий опасный инструмент двойного действия (упрощение через усложнение), ООП всегда будет черезвычайно сложно в применении и прорждать случаи неправильного использования, усугубленные идеологией: поклонник некоего подхода всегда будет подсознательно закрывать глаза на недостатки и выпячивать достоинства, причем даже не перед другими в первую очередь, а для себя - в использовании.