Ответ 1
Я думаю, что самая большая разница - это реализация, я не уверен, соответствует ли она. В Erlang у вас есть несколько свойств:
- процессы не обмениваются памятью, поэтому ошибка в процессе не может напрямую переполняться в другие процессы.
- сбор мусора работает над одним процессом за раз, не существует глобальной блокировки VM
Это для меня основные отличия, почему я считаю, что модель актера Erlang превосходит другие системы, включая Scala.
В более практическом подходе довольно часто реализация актера Scala достаточно хороша для использования. Однако существует мало случаев использования (поддерживая жесткие требования к задержкам, например, для того, чтобы иметь такую же задержку для p99 как p50), где ваш единственный вариант - использовать Erlang.