Модель актера , используемая Эрлангом, кажется, совсем другим способом параллельного программирования. Что вы думаете о модели актера? Будет ли это популярным решением для параллелизма?
Модель актера , используемая Эрлангом, кажется, совсем другим способом параллельного программирования. Что вы думаете о модели актера? Будет ли это популярным решением для параллелизма?
Ответы:
Я полагаю, вы знаете эту концепцию. Ну, я пока не очень хорошо знаю.
Короткий ответ: я верю в популярность этой модели для параллелизма в краткосрочной и среднесрочной перспективе. Я всегда любил лямбду и замыкания и вижу актера как замыкания, специально обработанные для параллелизма власти. Таким образом, многоядерные процессоры приносят нам новую парадигму программирования, параллелизм обязателен для достижения высокой производительности. Актерская модель кажется легким путем использования современного оборудования.
Рано или поздно (я надеюсь, рано) почти каждый основной язык будет поддерживать лучшую модель для параллелизма. ИМХО Актерская модель, так хорошо реализованная в Эрланге, должна стать лучшим кандидатом.
Одним из препятствий для популярности модели Actor является небольшой импеданс с ООП, доминирующей в настоящее время парадигмой. Но делается первый шаг, основные языки реализуют некоторые функциональные возможности, которые очистят путь к модели Actor.
Я много читаю об этой проблеме, я думаю, что это очень важно для каждого программиста, который продвинулся в своих навыках.
Позднее редактирование:
Теперь я лучше понимаю эту парадигму. Так что я могу сказать, что программистам лучше разрешить проблему решать библиотекам или, в конечном итоге, иметь возможность облегчить принятие одной модели. Свяжите язык только с одной моделью, не видя хорошей идеи.
«Популярный» не очень важный показатель. «Полезный» или «мощный» есть.
Модель Actor существует уже около 35 лет, по крайней мере, в академических кругах, и с течением времени ее применяют все больше и больше языков реального мира. (Хорошо, Эрланг не принял модель Актер, он заново изобрел модель Актер. Тем не менее.)
Так что, учитывая, что он пережил несколько десятилетий в академических кругах и переходит в мейнстрим, я бы сказал, что он будет существовать довольно долго.
Честно говоря, я думаю, что это лучший способ для параллелизма. Модель общей памяти с блокировками пугает меня, я просто вижу слишком много способов, как это может пойти не так. Актеры с передачей сообщений, кажется, гораздо чище.
Также посмотрите на STM, который можно использовать в Clojure и Haskell и, возможно, в некоторых других языках.