lynx logo
lynx slogan #00030
Привет! Сегодня у вас особенно незнакомое лицо.
Чтобы исправить это, попробуйте .

А ещё у нас сейчас открыта .




секретный шифр д-ра Тьюринга, O.B.E:

включите эту картинку чтобы увидеть проверочный код

close

часовой механизм




   

№847
10 094 просмотра
17 сентября '11
суббота
13 лет 54 дня назад



Почему объектно-ориентированное программирование провалилось? И куда.
  Написал саванный Сунь Укун  
3



Очень и очень противоречиво. Автор, ссылаясь на различные источники, привел недостатки ООП, окей. Грубо говоря, показал что подход далеко не silverbullet. Вопрос «ну и что?»
Возвращаться к процедурному подходу? Или всей толпой р-раз и перейти на АОП? Лучше сразу в петлю.
Как бы статья практически ни о чем. Декларировано «ООП фэйлед» а альтернатив не предложено.
Dharmist › Мне импонирует позиция Степанова:
Я уверен, что ООП методологически неверна. Она начинает с построения классов. Это как если бы математики начинали бы с аксиом. Но реально никто не начинает с аксиом, все начинают с доказательств. Только когда найден набор подходящих доказательств, лишь тогда на этой основе выводится аксиома. Т.е. в математике вы заканчиваете аксиомой. Тоже самое и с программированием: сначала вы должны начинать развивать алгоритмы, и только в конце этой работы приходите к тому, что вы в состоянии сформулировать четкие и непротиворечивые интерфейсы. Именно из-за этой неразберихи в ООП так популярен рефакторинг — из-за ущербности парадигмы вы просто обречены на переписывание программы, уже в тот самый момент, когда только задумали её спроектировать в ООП-стиле.
Но сам вижу истину, как всегда, где-то посредине.

Если правильно понимаю, тут критика тех, кто начинает проектировать базовую, определяющую весь остальной проект архитектуру, даже не разобравшись толком, как она будет работать в мелочах, в каждом конкретном случае, и как можно будет логически связать эти зачастую противоречащие мелочи в единую стройную модель. То есть, формат: сначала я напишу законы физики, по-быстрому, как получатся — а потом буду долгими бессонными ночами добиваться, чтобы в них могла зародиться жизнь. Не сработает.

Но на деле-то нормальный архитектор строит модель в коде, в объектах, только после того, как она детально проработана в его голове и умозрительно выверены все стыковки между различным функционалом. То есть: идея (хочу, чтоб было это, это и это ещё) → видение (это будет таким и здесь, работать будет так, связи, соответственно, должны быть с этим и тем) → архитектура (будет такая структура с такими подчинённостями и вложенностями) → и только потом реализация (пишем рабочий код, заполняя мясом костяк заранее выверенной архитектуры). Проектировать архитектуру до отточенного видения (что эти джентльмены подвергают критике) — наивно. Но отрабатывать итоговые локальные механизмы до полного понимания общей архитектуры — ещё более наивно.

Думаю, в таком обобщении: какая парадигма жизнеспособнее — это всё религиозные войны. На деле надо забыть про догмы и использовать тот путь, который лучше подходит для конкретной задачи. А общий путь один: ценить своё время и никогда не переделывать, а для этого сначала обдумывать всё в совершенстве, и лишь потом браться за работу.
Indian › Полностью согласен с вашей позицией. Но критиковать тогда нужно криворуких специалистов — проблему которая была, есть и будет.
«Почему крестовые отвертки провалились»
Dharmist › Ну, если заметили, там не то что у нас, но и в оригинальной статье доля иронии по этому поводу: заголовок статьи заканчивается не утвердительно, а вопросительно. smile
Indian › А, действительно. Вот что значит проглядывать во время рабочего процесса статьи, к которым относишься предубедительно — детектор иронии барахлить начинает smile
   


















Рыси — новое сообщество