Max Mikheenkov ([personal profile] bowhill) wrote2016-10-09 01:53 pm
Entry tags:

Модифицированная задача Кая или пара слов об ООП


Есть один тезис, который у сторонников ООП не получается опровергнуть, поэтому его стараются просто игнорировать — граф нельзя представить иерархией.

Статические иерархические модели можно отлично реализовывать средствами ООП, но в жизни их не так много, всё больше графы. Да ещё и динамические.

Это как поиск философского камня или вечного двигателя. Люди 25 лет вертят буквы S, I, T и H, уже мозоли натёрли, а счастья нет. Но вот-вот будет.

[identity profile] bowhill.livejournal.com 2016-10-10 03:43 pm (UTC)(link)
Да почему же это человек не способен? Схему с логичными связями он понимать неспособен, а большую, с химерами и костылями, способен. И не надо всё в голове держать: есть код, документация, анализаторы кода. Автоматизировать разработку вообще проще, чем создавать новую парадигму, которая к тому же постоянно рестартует с нуля. Такую бы энергию, да в мирных целях.

Процесс разработки — предмет непростой, но не надо думать, что все его сложности можно решить волшебным синтаксисом. Который заменит и процесс, и голову, и документацию, и средства, и всё прочее. Сам будет всё делать. На этот миф люди и ловятся.

И большие системы с тысячами сущностей пишутся отнюдь не только на инкапсуляции или наследовании. И если структура (условный csv) используется во множестве мест, то куда её инкапсулировать и зачем? К слову, структурирование и модульность никто не отменял.

[identity profile] gineer.livejournal.com 2016-10-10 04:01 pm (UTC)(link)
\\Схему с логичными связями он понимать неспособен, а большую, с химерами и костылями, способен.

Весь вопрос в том -- какого объема.

[identity profile] bowhill.livejournal.com 2016-10-10 04:21 pm (UTC)(link)
А здесь ответ универсальнее программирования — не больше такого объёма, какой человек может понять. Если за процессом не стоит разумная деятельность, то сам по себе процесс хорошо работать не будет, и разработка не исключение.