LINUX.ORG.RU

Actor model не взлетела. Причины

 ,


3

5

Why has the actor model not succeeded?

Уже не одно десятилетие прошло с момента появления модели акторов. Такая стройная теоретическая модель должна была вытеснить мютексы, условные переменные и прочие примитивы для синхронизации shared state.

Вкратце, причины неуспеха модели акторов из статьи:
1) Акторы не имеют прямой связи с моделью ООП.
2) Поведение динамическое, зачастую трудно предсказуемое и проблемы появляются в run-time. Что еще усугубляется возможностью актора создавать других акторов.
4) Требования по памяти обычно не могут быть определены до запуска.
5) Идея асинхронного обмена сообщениями затрудняет реализацию некоторых алгоритмов.
6) Сложность в реализации протокола последовательного взаимодействия между акторами.

По-моему, всё давно взлетело. То что оно не идеально не значит что не используется.

true_admin ★★★★★
()

Вы задолбали актёров называть акторами. Называйте или актёрами или уж тогда «экторами» (англ. произношение), а лучше «actors».

Не надо портить и пачкать языки, ни английский, ни русский.

P.S. По теме: вполне себе используются, хотя, конечно, рынок не заполонили на 146% пока что. Есть достоинства, есть и недостатки.

BattleCoder ★★★★★
()
Последнее исправление: BattleCoder (всего исправлений: 1)

Не взлетела, потому что говно.

tailgunner ★★★★★
()

Кстати, про модель ООП хорошая статейка http://habrahabr.ru/post/147927/ (прошу прощения за ссылку на швабр). Мнение того чувака разделяю.

Так что не вижу в первом пункте недостаток.

А ещё я вижу параллель actor model c моделью конечных автоматов... По крайней мере в scala-реализации очень удобно можно задавать состояния, и в зависимости от состояний реагировать на события. По-моему не хуже ООП описывает «объекты внешнего мира», или «прикладную область».

Контраргументы приветствуются, интересно послушать гуру.

BattleCoder ★★★★★
()

Actor model не взлетела

вполне себе взлетела и используется в некоторых языках.

ymn ★★★★★
()

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

anonimous
()

Акторы не имеют прямой связи с моделью ООП.

Поправочка: класс-ооп. Смолтоковскому ООП, как раз соответствуют, и, более того, смолток непосредственно повлиял на рождение теории акторов.

Идея асинхронного обмена сообщениями затрудняет реализацию некоторых алгоритмов.

Поправочка: быдло-алгоритмов.

anonimous
()
Ответ на: комментарий от ymn

вполне себе взлетела и используется в некоторых языках.

Только в двух. И не составляет основу.

anonimous
()
Ответ на: комментарий от anonimous

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

anonymous
()
Ответ на: комментарий от anonymous

Проблема как раз в том, что те, кто не годится даже для мытья полов, сегодня сидят за компами, каждый по своему, правда, один буковы в ворде печатает, другой проги, но разница небольшая, каждого свой «Ынтерфейс пользователя», у одного - word, у другого ++. Но это не имеет отношения к программированию и инженерной дисциплине.

anonimous
()
Ответ на: комментарий от BattleCoder

Вы задолбали актёров называть акторами. Называйте или актёрами или уж тогда «экторами» (англ. произношение), а лучше «actors».

Ага, а ещё «лицедеями» можно обозвать, да. :)

sleepflint ★★★
()
Ответ на: комментарий от swwwfactory

Истории успеха из реальной жизни приветствуются, если что :)
По вопросу actor model я точно не ихсперт - в реале ни разу не использовал

nerdogeek
() автор топика
Ответ на: комментарий от nerdogeek

ни разу не использовал

Ты использовал, только не знаешь об этом. Любая модель вычислений (МТ, LC etc) является частным случаем сабжа.

anonimous
()
Ответ на: комментарий от nerdogeek

Истории успеха из реальной жизни приветствуются, если что :)

По вопросу actor model я точно не ихсперт - в реале ни разу не использовал

...лучше модели не бывает, когда все в движении, иначе один не-асинхронный блок остановит всю систему. Но не все из акторов а только асинхронность и окружение в основном.

История успеха:

эрланг: send/receive, gen_server, gen_fsm, gen_tcp/udp, реализация процессов...

javascript в общем в некотором смысле

swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 1)
Ответ на: комментарий от swwwfactory

javascript в общем в некотором смысле

Его прототипы. Почти в прямом смысле, ИМХО.

anonimous
()
Ответ на: комментарий от nerdogeek

На самом деле, стоит указать что ты называешь моделью акторов.

По мне так даже шеловский пайплайн сюда попадает. Да что там, любое клиент-серверное приложение можно рассматривать под таким углом.

true_admin ★★★★★
()
Ответ на: комментарий от heilkitty

Каюсь. По профессиональной деятельностью чаще приходится общаться с жителями USA, чем UK. Возможно, это влияет на моё произношение.

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

BattleCoder ★★★★★
()
Ответ на: комментарий от BattleCoder

Возможно, это влияет на моё произношение.

Наверняка, и на сознание. Маршируешь, небось? (Во имя «мира», всесте с Макаревичем.)

anonymous
()
Ответ на: комментарий от BattleCoder

Truck full of fail

«экторами» (англ. произношение)

/ˈæk.tə/

Называйте или актёрами

From Latin āctor (“doer”), from agere (“to do”). Cognate with Ancient Greek ἄκτωρ (aktōr, “leader”), from ἄγω (agō, “lead, carry, convey, bring”).

actor (plural actors) A person who performs in a theatrical play or film. One who acts; a doer. One who takes part in a situation. (law) An advocate or proctor in civil courts or causes. (law) One who institutes a suit; plaintiff or complainant. (policy debate) One who enacts a certain policy action. (software engineering) The entity that performs a role (in use case analysis).

Актёр (фр. acteur, от лат. actor — исполнитель) — исполнитель ролей в спектаклях и кино.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.