Хоча модель актора старша за Ерланг, дизайнери Ерланг дізналися про Акторську модель лише після того, як розробили Ерланг, тому слід очікувати деяких відмінностей.
Хоча вони йшли паралельними шляхами еволюції: модель актора була створена Карлом Хьюіттом на основі семантики повідомлення, що передає Smalltalk. Алан Кей, у свою чергу, базував семантику передачі повідомлень Smalltalk на цільовій оцінці PLANNER, яку розробив… Карл Хьюїтт.
PLANNER був попередником Prolog. Ерланг спочатку не мав бути мовою, скоріше він почався як бібліотека для розподіленого програмування про відмов, що спричиняє відмову в Пролозі, а згодом перетворився на діалект Пролога, перш ніж він став його власною мовою, і донині сильно впливає на Пролог (плюс, оригінальний перекладач Ерланг був написаний у Prolog).
Отже, подібність між Процесами в Ерланге, Об'єктами в ОО та Акторами в акторській моделі далеко не випадкові.
Ерланг - мова з декількома шарами, кожен з яких є набором нижніх шарів. Найменший шар - функціональний ерланг . Це стандартна функціональна мова з деякими доповненнями, успадкованими від Prolog, такими як об'єднання замість прив'язки / рівності. Якщо додати до цього Процеси та Повідомлення , ми отримаємо одночасний Erlang . Відкиньте віддалені процеси, і ви отримаєте розподілений Erlang . Тепер додайте деякі бібліотеки та шаблони дизайну з OTP, і у вас є стійкий до відмов Erlang.
Процеси - актори. (Вони також є об'єктами.) Внутрішня частина Процесів функціональна, а не акторська. Структура великої відмовної системи Ерланг, побудована за допомогою інструментів та зразків OTP, часто дуже орієнтована на об'єкти.
Отже, це залежить від того, яку шкалу ви дивитесь.
У типово великій системі Erlang у вас є об'єктно-орієнтована архітектура з акторами, що передають повідомлення, реалізованими за допомогою функціонального програмування. Те, що викликає OTP server
, тісно пов'язане з об'єктом, server
складається з процесів (які є суб'єктами), процеси використовують функції внутрішньо.
Взагалі, я не вірю, що будь-яка чиста мова актора ніколи не залишала досліджень. Чорт забираю, я навіть не знаю, чи була навіть реалізована плазма Карла Хьюітта, оригінальна мова актора.