[personal profile] bowhill

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

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

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

Date: 2016-10-10 08:54 am (UTC)
From: [identity profile] gineer.livejournal.com
\\А почему они лишние и зачем их отсекать, если они есть? Это уже Пелевин какой-то, «Омон Ра».

А какие еще вы знаете способы работы со связями?
Вот когда их 100500...
кроме их групировки и/или маскировк неактуальных?


\\Почему данные могут быть связаны c методами и между собой одним каким-то способом?

Туда же.
Какие еще вы знаете способы "связи данных с методами"?

Date: 2016-10-10 10:00 am (UTC)
From: [identity profile] bowhill.livejournal.com
В смысле? Программные, множественные, произвольные... Что именно выбирать из произведений данных и отображений? Программа и есть способ связи. Кроме того, с .csv может работать и Word, и Excel, и ещё неопределённый список программ, это как способ связи?

А если речь о вопросах инвентаризации, то связь эквивалентна записи, 100500 — это не так много.

Date: 2016-10-10 10:14 am (UTC)
From: [identity profile] gineer.livejournal.com
\\В смысле?

Имелось в виду -- способов работы со свъязями,
отличных от их группировки и/или выделения какой-то их части по какому-то принцыпу?

Вот возьмем те же графы.
Что ЕЩЕ можем с ними сделать, кроме:
ну там свести в табличку и отсортировать (по номеру вершин, по количеству ребер, по весам и т.д.),
или выделить некое помножество?


Date: 2016-10-10 10:56 am (UTC)
From: [identity profile] bowhill.livejournal.com
Hmm, использовать по необходимости, есть автоматизация анализа, оптимизация, доказательства, алгоритмистика, вычметоды, параллелизм. Можно Воеводина почитать, или потрясти Ганди, как математика, что читать.

А в простом смысле что можно сделать с декларацией “int i;”? Метаданные тоже данные.

Date: 2016-10-10 02:20 pm (UTC)
From: [identity profile] gineer.livejournal.com
Это на что ответ был?

Date: 2016-10-10 02:52 pm (UTC)
From: [identity profile] bowhill.livejournal.com
Что можно делать с графами. С этими и далее, если есть интерес работать с кодом как с графом.

Но вообще, в дообъектных языках связи не были иерархическими, и что делали? Программы писали.

Date: 2016-10-10 03:11 pm (UTC)
From: [identity profile] gineer.livejournal.com
Мой поинт был в -- что ТЕХНИЧЕСКИ можно делать с графами,
а не как их можно использовать.

А графы, я упомянул как самый просто и наглядный формальный способ представления связей.

А про связи начал говорить, чтобы подвести к мысли -- что человек не может,
физически неспособен,
держать в голове и работать с таким количеством связей, которое предполагает даже обычное программирование.

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

И это было замечание к тому -- что человеку просто необходима инкапсуляция, группировка, типизация... называй как хочешь, но это все
в конечном итоге,
о попытке уменьшить количество связей с которыми нужно непосредственно работать человеку,
и сделать их кк можно ему понятнее и ближе...

И сделано это было для того,
чтобы намекнуть на некорректность постановки рядом инкапсуляции и наследования -- потому что это две большие разницы.

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

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

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

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

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

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

Profile

Max Mikheenkov

June 2025

S M T W T F S
1 234 5 67
891011121314
15161718192021
22232425262728
2930     

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 19th, 2025 11:01 pm
Powered by Dreamwidth Studios