Про ООП объект в оригинальном смысле - что есть?
От: Shmj Ниоткуда  
Дата: 30.09.23 20:55
Оценка: :)))
Вот, пишут что оригинальный объект из ООП задумывался, скорее, как то что мы сейчас называем микросервисом. Т.е. полностью независимая сущность, которая живет своей жизнью, работает асинхронно, принимает пакеты на вход и дергает другие объекты, когда работа будет готова и есть что сказать. Т.е. вся система представлялась как взаимодействие таких вот независимых сущностей.

Но ведь не обязательно все это соединять через JSON-API и передавать по сети, верно? Ведь такие объекты можно сделать в рамках одного процесса.

Даст ли это что-нибудь? Есть ли подобные решения для вашего любимого ЯП/платформы?

Т.е., по сути, что нужно?

1. Отдельный поток на объект. Ну понятно что когда объект простаивает — его поток кто-то займет.
2. Система асинхронной регистрации входящих пакетов, чтобы отдающий данные объекту не ждал а сразу отдавал что принято, зарегистрировано.
3. Каждый объект должен сохранять на диске состояние (и восстанавливать по нужде), обладать поддержкой транзакционности.
4. Какая-то конвейерная система обработки запросов, но чтобы все было через события, а не через таймер и доставание по таймеру. Т.е. чтобы зря объект не отнимал процессорное время.
5. Желательно чтобы объект мог взаимодействовать и по JSON с удаленными объектами.

Т.е. тут дело даже не в языке — это можно сделать на любой платформе.

Что подобное вы использовали?
Отредактировано 01.10.2023 0:01 Shmj . Предыдущая версия .
Re: Про ООП объект в оригинальном смысле - что есть?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 30.09.23 23:46
Оценка: :)
Здравствуйте, Shmj, Вы писали:

S>Вот, пишут

А кто пишет?
Sic luceat lux!
Re: Про ООП объект в оригинальном смысле - что есть?
От: Разраб  
Дата: 01.10.23 00:35
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Что подобное вы использовали?

https://en.wikibooks.org/wiki/F_Sharp_Programming/MailboxProcessor
https://getakka.net/articles/actors/receive-actor-api.html

Еще есть Active Oberon

Но причем тут микросервисы(присоединяюсь к вопросу)?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Про ООП объект в оригинальном смысле - что есть?
От: so5team https://stiffstream.com
Дата: 01.10.23 05:47
Оценка:
Здравствуйте, Kernan, Вы писали:

S>>Вот, пишут

K>А кто пишет?

ChatGPT же ж. Это ж Shmj, какие у него могут быть еще источники?

Но вообще очень похоже на то, что Джо Армстронг (автор Erlang) говорил об ООП и о том, почему он считает Erlang вполне себе ОО-языком:

https://www.infoq.com/interviews/johnson-armstrong-oop/
http://harmful.cat-v.org/software/OO_programming/why_oo_sucks
Re: Про ООП объект в оригинальном смысле - что есть?
От: gyraboo  
Дата: 01.10.23 06:31
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Что подобное вы использовали?


Добро пожаловать в DDD.
Объект и свой персистент может сам, а не только бизнес-логику и консистентность инкапсулировать. Тръу ООП.
Re[3]: Про ООП объект в оригинальном смысле - что есть?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 01.10.23 06:39
Оценка: +1
Здравствуйте, so5team, Вы писали:

S>Но вообще очень похоже на то, что Джо Армстронг (автор Erlang) говорил об ООП и о том, почему он считает Erlang вполне себе ОО-языком:


Это ещё раньше, а именно Smalltalk — именно там была концепция языка, в которой всё есть объекты, динамическая типизация и отсылка сообщений.
Re[4]: Про ООП объект в оригинальном смысле - что есть?
От: so5team https://stiffstream.com
Дата: 01.10.23 06:56
Оценка:
Здравствуйте, Nuzhny, Вы писали:

S>>Но вообще очень похоже на то, что Джо Армстронг (автор Erlang) говорил об ООП и о том, почему он считает Erlang вполне себе ОО-языком:


N>Это ещё раньше, а именно Smalltalk — именно там была концепция языка, в которой всё есть объекты, динамическая типизация и отсылка сообщений.


Только вот в Smalltalk не говорилось о концепции "активных объектов", на которую ссылается ТС:

Т.е. полностью независимая сущность, которая живет своей жизнью, работает асинхронно, принимает пакеты на вход и дергает другие объекты, когда работа будет готова и есть что сказать.

Это как раз то, что обеспечивает Erlang со своими легковесными, но изолированными процессами.

Но, емнип, Erlang появился под влиянием Prolog и Smalltalk и, опять же емнип, один из первых компиляторов Erlang-а был написан на Smalltalk-е, так что Джо Армстронг был знаком со Smalltalk не по наслышке.
Re[5]: Про ООП объект в оригинальном смысле - что есть?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 01.10.23 07:09
Оценка: 1 (1) +2
Здравствуйте, so5team, Вы писали:

S>Только вот в Smalltalk не говорилось о концепции "активных объектов", на которую ссылается ТС:

S>

Т.е. полностью независимая сущность, которая живет своей жизнью, работает асинхронно, принимает пакеты на вход и дергает другие объекты, когда работа будет готова и есть что сказать.

S>Это как раз то, что обеспечивает Erlang со своими легковесными, но изолированными процессами.

Ну, ТС в принципе намешал в один вопрос всего. Классы придумали создатели Симула, всеобъемлющие объекты и их общение придумали в Smalltalk, асинхронность добавили в Erlang.
Обратимся к первоисточнику: "Про ООП объект в оригинальном смысле — что есть?"
Наверное, правильный ответ — ничего из перечисленного, потому что оригинальный посыл был намного скромнее и лишь сильно позже развился в описываемом виде.
Re: Про ООП объект в оригинальном смысле - что есть?
От: Alekzander  
Дата: 01.10.23 10:55
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вот, пишут что оригинальный объект из ООП задумывался, скорее, как то что мы сейчас называем микросервисом. Т.е. полностью независимая сущность, которая живет своей жизнью, работает асинхронно, принимает пакеты на вход и дергает другие объекты, когда работа будет готова и есть что сказать. Т.е. вся система представлялась как взаимодействие таких вот независимых сущностей.


Почему бы не прочитать статью создателя ООП Алана Кея "Создание ООП: Как я создал ООП by Алан Кей"?

Ладно, шучу. Статья называется The Early History Of Smalltalk. Алан Кей объясняет, что ООП родилось как результат применения принципа Бартона к дизайну языков (а если ещё умных книжек почитать, можно узнать, что принцип Бартона был известен в науке задолго до зачатия Бартона). В этом суть. А не в том, что Смолтоки какие-то, сигналы, Конгресс, немцы...
Отредактировано 01.10.2023 10:57 Alekzander . Предыдущая версия .
Re[2]: Про ООП объект в оригинальном смысле - что есть?
От: Alekzander  
Дата: 01.10.23 11:07
Оценка:
Здравствуйте, Alekzander, Вы писали:

A>Ладно, шучу. Статья называется The Early History Of Smalltalk. Алан Кей объясняет, что ООП родилось как результат применения принципа Бартона к дизайну языков (а если ещё умных книжек почитать, можно узнать, что принцип Бартона был известен в науке задолго до зачатия Бартона). В этом суть. А не в том, что Смолтоки какие-то, сигналы, Конгресс, немцы...


Если кто-то не читал, я крайне советую. Принцип Бартона — великий принцип. С его помощью можно не только на базе структурного программирования изобрести объектно-ориентированное, но и на базе процедурного — функциональное. (Чисто исторически функциональщина родилась чуть ли не раньше всех, но если бы не родилась, её можно было бы вывести из процедурного программирования при помощи принципа Бартона).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.