invariance
Ну ты сказал что в ООП нет объектов
Sergey
я сказал что "ООП не про объекты"
Sergey
а не "там нет объектов"
invariance
гениально
invariance
если ООП не про объекты, то логично предположить, что их там не должно быть?
invariance
Однако, они там есть почему-то
Sergey
Sergey
давай так
invariance
ну у тебя проблемы с логикой
Sergey
вот есть у тебя в языке классы
Sergey
но в аббривиатуре "ооп" их нет
Sergey
следовательно классов быть не должно?
Sergey
или это просто способ добиться чего-то что есть в аббривиатуре?
invariance
лол
invariance
в аббревиатуре много чего нет
invariance
речь сейчас не про нее
Sergey
давай тогда сначала
Sergey
что для тебя ООП
Sergey
как отличить "ооп" от "не ооп"
invariance
что для тебя ООП
методология, которая в наше время тесно связана с развитием языков программирования
Sergey
Sergey
p.s. языки программирования за последние 30 лет не особо развились. Компиляторы - возможно (rust например)
Sergey
invariance
с наследованием, классами и всем вытекающим
Nikolay
Sergey
ну то есть вот есть старое доброе процедурное программирование, где данные лежат там, а поведение тут. И поведение берет данные, и что-то с ними делает.
invariance
Мне вот интересно, почему это я тебе должен доказывать, что ООП про объекты
Sergey
Sergey
invariance
Нет, ну просто ты задаешь вопросы, а я отвечаю. Так диалог не ведется
invariance
Так ведется допрос, которым ты меня пытаешься запутать
Sergey
потому что если я тебе буду говорить - то ты будешь "лалка ооп это не то я так не привык"
invariance
Ну я человек не глупый, ты объясни, почему ООП не про объекты то
Alex
Привести? То есть ответа у тебя нет, просто давайте походим вокруг до чего-нибудь, что назовём ответом?
Sergey
а если ты будешь сам думать - то сам и додумаешься до сути
fink3L
фига я вбросил
invariance
Ну в этом я с тобой согласен
Sergey
то есть если ты возьмешь "объекты" и будешь работать с ними без late binding и без messagin ты получишь просто данные и процедуры
Sergey
тут есть очень простая грань
invariance
Но если ООП объясняет взаимодействие объектов, то почему ООП не про объекты?)
Sergey
оч просто, не весь код использующий коцнцепцию объектов ялвяется объектно ориентированным, но весь объектно ориетированный код использует концепцию объектов
Sergey
по сути ООП это подвид структурного программирования
Sergey
можно сказать доведенный до крайности
Sergey
причем "объект" это реально что угодно. В одном языке это инстанс класса, в другом это просто отдельная сущность (и нет классов) а в третьем ты можешь назвать объектом функцию со своим скоупом
Sergey
и поскольку "объект" в каждом языке штуки разные, имеет смысл вообще их не обсуждать
invariance
Sergey
invariance
я понял твою мысль
Sergey
объекты - это абстракция
Sergey
у них куча реализаций
Sergey
потому лучше вообще их не учитывать в контексте ООП
invariance
Ладно, ладно
Viktor
Привели пример ООП без объектов, так лучше
Sergey
так проще будет понять основную идею. А основная идея в том, что бы данные и поведение для этих данных лежали рядом, что бы объекты вместо того что бы менять стэйт друг дружки, обменивались сообщениями. Что бы при помощи late binding в рантайме можно было подменять реализации.
invariance
Sergey
invariance
Почему
invariance
😆
Sergey
ну... в любом случае я уже приводил - erlang
Viktor
Я не издеваюсь, проглядел
invariance
чет я не вижу, где у эрланга ооп
Sergey
он правда функциональный, но по идеологии которую закладывал Алан Кей к ООП ближе чем всякие явы
Sergey
блин где-то была цитата
Alex
Эм. Хорошо, в элранге нет объектов. Что обменивается сообщениями?
Sergey
Viktor
Вообще я тебя понял, твоё понимание ООП отличается от .. Распространенного, что ли
Sergey
не совсем
Alex
Т.е. данные там лежат в полях, которые в функции, которая в треде?
Sergey
а взаимодействие происходит путем обмена сообщениями между элементами системы
Sergey
Sergey
ебашим процедуры завернутые в классы и норм
Alex
Уже лучше. Т.е. есть структура, которая хранит не только данные, но и код взаимодействия с этими данными, и мы в рантайме можем изменить этот код и будет иначе работа вестись?