Ответ 1
Я не могу не дать вам ответ:
Akka предоставляет стабильную и мощную библиотеку для работы с Актерами, а также множество функций, связанных с высоким concurrency (фьючерсами, агентами, участниками транзакций, STM, FSM, неблокирующими ввода-выводами,...).
Также он реализует актеров более безопасным способом, чем scala, поскольку клиентский код имеет только доступ к универсальному ActorRef
. Это делает невозможным взаимодействие с другими участниками, кроме как через передачу сообщений.
[отредактировано: как отметил Роланд, это также позволяет использовать дополнительные функции, такие как отказоустойчивость, через иерархию наблюдения и прозрачность местоположения: возможность развернуть актер локально или удаленно без изменений, необходимых для кода клиента.
Общий дизайн более похож на оригинальный в erlang.]
Значительная часть основных функций была дублирована в scala и акковых актерах, поэтому унификация кажется наиболее разумным выбором (учитывая, что команда разработчиков обеих библиотек также входит в одну и ту же компанию: Typesafe).
Основной выигрыш заключается в том, чтобы избежать дублирования одних и тех же основных функций, что создавало бы проблемы с путаницей и совместимостью.
Учитывая, что выбор обусловлен, остается только решить, какая будет стандартная реализация.
Мне ясно, что Akka может предложить больше в этом отношении, будучи полномасштабной картой с множеством функций уровня предприятия, которые уже включены и в будущем будут доступны.
Я не могу придумать конкретный случай, когда scala.actors способен выполнить то, что не может сделать akka.
p.s. Аналогичное рассуждение было сделано, что привело к унификации стандартного будущего/обещания в 2.10
Весь язык scala и сообщество должны получить от упрощенного интерфейса к базовым языковым функциям вместо фрагментированной сцены из разных фреймворков, каждая из которых имеет собственный синтаксис и модель для изучения.
То же самое нельзя сказать о других, более высокоуровневых аспектах, таких как веб-фреймворки, где разработчик выигрывает от более богатой панорамы доступных решений.