@oop_ru

Страница 29 из 785
Sergey
18.12.2016
13:56:20
следовательно классов быть не должно?

или это просто способ добиться чего-то что есть в аббривиатуре?

F01134H
18.12.2016
13:56:34
лол

в аббревиатуре много чего нет

Google
F01134H
18.12.2016
13:56:57
речь сейчас не про нее

Sergey
18.12.2016
13:57:13
давай тогда сначала

что для тебя ООП

как отличить "ооп" от "не ооп"

Aliaksandr
18.12.2016
13:57:26
под "объектами" тут можно понимать что угодно. Какие-то штуки обмениваются сообщениями. точка.
Почему тогда это именно сообщения, а не "какие-то" штуки? Как отличить сообщение от "какой-то" штуки?

F01134H
18.12.2016
13:58:05
что для тебя ООП
методология, которая в наше время тесно связана с развитием языков программирования

Sergey
18.12.2016
13:58:26
p.s. языки программирования за последние 30 лет не особо развились. Компиляторы - возможно (rust например)

F01134H
18.12.2016
13:58:53
как отличить "ооп" от "не ооп"
ооп использует объекты в качестве основных структурных едениц

Sergey
18.12.2016
13:59:15
ооп использует объекты в качестве основных структурных едениц
уже лучше, уже до структурного программирования добравлись

F01134H
18.12.2016
13:59:16
с наследованием, классами и всем вытекающим

Sergey
18.12.2016
13:59:35
с наследованием, классами и всем вытекающим
зачем нам наследование, классы и все вытекающее? что при помощи них ты хочешь добиться?

Google
Sergey
18.12.2016
14:00:06
ну то есть вот есть старое доброе процедурное программирование, где данные лежат там, а поведение тут. И поведение берет данные, и что-то с ними делает.

F01134H
18.12.2016
14:00:16
Мне вот интересно, почему это я тебе должен доказывать, что ООП про объекты

F01134H
18.12.2016
14:00:55
Нет, ну просто ты задаешь вопросы, а я отвечаю. Так диалог не ведется

dypa
18.12.2016
14:00:58
если ты приглядишься, там ничего нового нет
так это хорошо, взяли основное и фич не добавили

F01134H
18.12.2016
14:01:13
Так ведется допрос, которым ты меня пытаешься запутать

Sergey
18.12.2016
14:01:19
Нет, ну просто ты задаешь вопросы, а я отвечаю. Так диалог не ведется
вполне себе ведется. Я лишь задаю тебе вопросы что бы привести тебя к ответу

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

F01134H
18.12.2016
14:01:44
Ну я человек не глупый, ты объясни, почему ООП не про объекты то

Aliaksandr
18.12.2016
14:01:45
Привести? То есть ответа у тебя нет, просто давайте походим вокруг до чего-нибудь, что назовём ответом?

Sergey
18.12.2016
14:01:52
а если ты будешь сам думать - то сам и додумаешься до сути

finkel
18.12.2016
14:02:20
фига я вбросил

Sergey
18.12.2016
14:02:36
Ну я человек не глупый, ты объясни, почему ООП не про объекты то
блин я и объясняю. Объекты - это вещи. А ООП объясняет как эти вещи должны между собой взаимодействовать.

F01134H
18.12.2016
14:02:57
Ну в этом я с тобой согласен

Sergey
18.12.2016
14:03:04
то есть если ты возьмешь "объекты" и будешь работать с ними без late binding и без messagin ты получишь просто данные и процедуры

тут есть очень простая грань

F01134H
18.12.2016
14:03:24
Но если ООП объясняет взаимодействие объектов, то почему ООП не про объекты?)

Sergey
18.12.2016
14:04:31
оч просто, не весь код использующий коцнцепцию объектов ялвяется объектно ориентированным, но весь объектно ориетированный код использует концепцию объектов

по сути ООП это подвид структурного программирования

Google
Sergey
18.12.2016
14:05:02
можно сказать доведенный до крайности

причем "объект" это реально что угодно. В одном языке это инстанс класса, в другом это просто отдельная сущность (и нет классов) а в третьем ты можешь назвать объектом функцию со своим скоупом

и поскольку "объект" в каждом языке штуки разные, имеет смысл вообще их не обсуждать

F01134H
18.12.2016
14:06:41
F01134H
18.12.2016
14:07:14
я понял твою мысль

Sergey
18.12.2016
14:07:18
объекты - это абстракция

у них куча реализаций

потому лучше вообще их не учитывать в контексте ООП

F01134H
18.12.2016
14:07:51
Ладно, ладно

Victor
18.12.2016
14:08:09
Привели пример ООП без объектов, так лучше

Sergey
18.12.2016
14:08:15
так проще будет понять основную идею. А основная идея в том, что бы данные и поведение для этих данных лежали рядом, что бы объекты вместо того что бы менять стэйт друг дружки, обменивались сообщениями. Что бы при помощи late binding в рантайме можно было подменять реализации.

Sergey
18.12.2016
14:08:25
F01134H
18.12.2016
14:08:30
Почему

?

Sergey
18.12.2016
14:08:33
ну... в любом случае я уже приводил - erlang

Victor
18.12.2016
14:09:01
Я не издеваюсь, проглядел

F01134H
18.12.2016
14:09:18
чет я не вижу, где у эрланга ооп

Sergey
18.12.2016
14:09:24
он правда функциональный, но по идеологии которую закладывал Алан Кей к ООП ближе чем всякие явы

Google
Sergey
18.12.2016
14:09:40
чет я не вижу, где у эрланга ооп
потому что повторюсь - ООП не про объекты)

блин где-то была цитата

Aliaksandr
18.12.2016
14:10:01
Эм. Хорошо, в элранге нет объектов. Что обменивается сообщениями?

Victor
18.12.2016
14:11:00
Вообще я тебя понял, твоё понимание ООП отличается от .. Распространенного, что ли

Sergey
18.12.2016
14:11:08
не совсем

Aliaksandr
18.12.2016
14:11:12
Т.е. данные там лежат в полях, которые в функции, которая в треде?

Sergey
18.12.2016
14:11:43
Т.е. данные там лежат в полях, которые в функции, которая в треде?
не совсем, у тебя есть одна какая-то хрень которая хранит данные и код, обрабатывающий эти данные.

а взаимодействие происходит путем обмена сообщениями между элементами системы

Вообще я тебя понял, твоё понимание ООП отличается от .. Распространенного, что ли
другая штука. Распространенное понимание ООП - отсутствие понимания вовсе)

ебашим процедуры завернутые в классы и норм

Aliaksandr
18.12.2016
14:12:41
Уже лучше. Т.е. есть структура, которая хранит не только данные, но и код взаимодействия с этими данными, и мы в рантайме можем изменить этот код и будет иначе работа вестись?

Sergey
18.12.2016
14:13:19
Уже лучше. Т.е. есть структура, которая хранит не только данные, но и код взаимодействия с этими данными, и мы в рантайме можем изменить этот код и будет иначе работа вестись?
не совсем "изменить код", просто поднять новую штуку с новыми данными и новыми кодом, и попросить сообщения слать не старой а новой

подменить реализацию

это late binding nипа

Victor
18.12.2016
14:13:27
Ну я согласен например. Я и не пытался понять. Надрочил джаву и пошёл на собес

другая штука. Распространенное понимание ООП - отсутствие понимания вовсе)

Я думаю у многих так было

Sergey
18.12.2016
14:14:12
Ну я согласен например. Я и не пытался понять. Надрочил джаву и пошёл на собес
можешь глянуть какой-нибудь видос с David West на тему того как java и провальная политика Xerox погубили smalltalk и ООП

другая штука. Распространенное понимание ООП - отсутствие понимания вовсе)
ты только не подумай что я призываю делать как-то по другому. Ну то есть я все так же пишу код с геттерами, все так же где-то говнишко процедурное вставляю...

Google
Sergey
18.12.2016
14:15:46
просто была охрененная идея, в которой если разобраться, можно нехило так научиться писать поддерживаемый код. Оно местами избыточно и сложно, но помочь тебе делать декомпозицию правильнее, помочь тебе изолировать говнокод оно должно

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

Victor
18.12.2016
14:16:31
другая штука. Распространенное понимание ООП - отсутствие понимания вовсе)
Не, осознавать вещи вместо того что б думать "это так,потому что все так считают" это здраво

Sergey
18.12.2016
14:16:43
культ карго, угу

https://www.youtube.com/watch?v=oiFYPAel-KY

Sergey
18.12.2016
14:17:28
буквально вчера @mkusher выкладывал

А не больше ли? Именно недопониманий.
скажем так, если в монады не лазить - то все весьма просто

ну и в теорию типов/категорий

хотя последнее полезно и для ООП

интересный факт, концепт языка программирования с управляющими структурами по типу if/while, с обработкой исключений и т.д. был разработан еще в середине 40-х

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

в основном в языки впиливаются новые плюшки просто что бы бороться неудобствами старых

идеал недостижим, а потому все языки это некий компромис

dypa
18.12.2016
14:25:29
https://m.habrahabr.ru/post/307720/ вот вам даже на русском

https://m.habrahabr.ru/post/147890/

Sergey
18.12.2016
14:26:35
пробежался по комментам - там тоже много булшита в головах

dypa
18.12.2016
14:26:57
всё уже разжевано в нельзя, но лень взять и прочитать

Sergey
18.12.2016
14:26:57
но статья вроде бы норм

может за Read Model похоливарим?

например простая задача - список продуктов. Меня беспокоит что типичный разработчик сначала попросит свою любимую ORM замэпить данные на сущности какие-нибудь, потом он напишет сверху еще приблуду которая уже будет мэпить сущности в json или шаблончики которые будут забирать данные оттуда

Страница 29 из 785