【書評】オブジェクト指向言語解体新書
どんな本?
"(オブジェクト指向を)"あきらめたらそこで技術者終了(staticおじさん)ですよ・・・?"という挑発的な帯を持つ一冊 staticおじさんについては下記リンクを参照
いわゆる同人技術書として技術書店 3でデプロイされた。
位置づけ的には初/中級者が更にオブジェクト指向がどのように動いていているのかの内部実装を深掘りしたいときに読む本。 意外とオブジェクト指向がどういう仕組みで、親クラスのメンバ関数、クラス関数などを呼んでいるのかという部分を解説した本は世の中に出回っていないので。そういった意味でオブジェクト指向実装入門としてこの書籍は非常に有用であると感じた。
コードも程々にあるが、特にインスタンス変数からメンバ関数が呼ばれたときどのようにどのように目的にメンバ関数が探索されて実行されるかという、今までふわっとしか認識していなかった部分を明確に図を用いて解説してくれているのがこの本である。 言語別にも(JavaScript, Python, Java)解説が非常に多く割かれており、静的オブジェクト指向言語であるJavaがなぜメソッドオーバーロードが実現でき、動的オブジェクト指向言語のJavaScript, Pythonが実現できないのかというのが解説されている。(3.7 動的と静的を参照)
またオブジェクト指向におけるメッセージ呼び出し(Receiver)における誤謬も解説されていることも面白い点かなと感じる(オブジェクト指向におけるメソッド呼び出しとRubyのsendメソッドの話)(2.11 メッセージとレシーバを参照)
JavaScriptにおけるprotoってこういった役割を持っていたとか、JavaScriptにおけるprototypeってなんだろうみたいな話も解説されている。(6章)
現在もcomic zinやboothなどで入手可能かはわからないが、機会があれば読んでみることをおすすめしたい一冊だ。