суббота, 26 мая 2012 г.

Недостатки объектно-ориентированного программирования

На Хабре хорошая статья о недостатках ООП: Жизнь без объектов. Если резюмировать, то за надцать лет развития объектно-ориентированного программирования не были решены родовые проблемы казавшейся универсальной технологии, а именно:
  • Бизнес-компоненты использовать повторно можно только в той же самой доменной области, т.е. использовать их может только разработчик, пока работает на своих процессах
  • Паттерны не только не упрощают код, но даже усложняют его сверх меры и делают нечитаемым, если использовать неразумно
  • Универсальные библиотеки классов избыточны и сложны в освоении
  • Любое изменение в базовом классе может непредсказуемо повлиять на поведение дочерних классов, и даже сделать их неработоспособными. Чем глубже иерархия наследования, тем более хрупкий код получается
  • Инкапсуляция почти всегда нарушается, так как нам нужно получать доступ ко всем данным объекта
  • Непрерывное изменение состояние объекта влечет проблемы отладки
Автор предлагает перейти на функциональные языки программирования.