
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

dypa
18.12.2016
14:00:03

Google

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

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

Sergey
18.12.2016
14:00:18

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

Sergey
18.12.2016
14:07:02

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 в рантайме можно было подменять реализации.

F01134H
18.12.2016
14:08:22

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
Эм. Хорошо, в элранге нет объектов. Что обменивается сообщениями?

Sergey
18.12.2016
14:10:37

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

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

Aliaksandr
18.12.2016
14:17:23

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 или шаблончики которые будут забирать данные оттуда