アクター指向プログラミング

オブジェクト指向の次はアクター指向じゃないかと言われ始め、わが意を得ました。

CPUのマルチコア化が進むと、マルチスレッドプログラミングがさらに進む。
そうなってくるとオブジェクト達が意思を持ったもののように振る舞いはじめます。

僕はオブジェクト指向でも一番大切なのはオブジェクトの役割を決めてあげることだと思っていますが、プログラムが人のように動く環境ではさらにその意図が強まります。interfaceというよりもrole。つまりアクターが役割を演じるのです。

インターフェースというものをはじめて聞いたときは
「それって実装がないと意味ないじゃん。」
と生意気に思っていた口ですが、Javaのライブラリの充実具合はインターフェースの皮でラップすればいろんな実装を使えるようになるDIがあったからだと思うのです。ロールもインターフェースと実装的には同じような意味を考えてますが、より「役目」を意識したものになったらなぁと妄想している最中です。

そうなるともっと楽しいプログラミングができるのではないかと思うわけです。