😊
アクターモデルのサポート状況について
アクターモデルのサポート状況について、簡単にまとめます。
アクターモデルの定義
これに従う。
広義の立場では、アクター=チャネル+非同期タスクと解釈すれば、GoやRustは組込のアクターモデルと持っていると考えてもよいですが、ここではいちいち取り上げません。狭義の立場では、アクターの位置透過性やスーパービジョンのような機能も概念に含まれてくるが、必須のものとはしないことにします。
アクターモデルが使えるツール(ライブラリ/フレームワーク)
やはりこの分野ではakkaが最強ですが、Virtual Actorsをサポートしている、Dapr, Orleans, proto.actorあたりも注目に値します。Rustにも実装が増えてきています。
※○はざっとみて適当につけています。間違っていたら指摘してくれると助かります
アクターモデルが組み込まれている言語やランタイム
Erlang VM BEAM
Pony言語
Swift
actor構文 が Swift 5.5から実装されている
distributed actor構文が提案されている
Discussion