この「〜の絵本」シリーズについては基本的に高く評価しているのだが、本書に関しては「どうかなぁ」という印象。
『Cの絵本』や『アルゴリズムの絵本』の良さは、プログラム言語による抽象的な記述が具体的に何を意味しているのかをイラストで表現し、読者にイメージをつかませることに成功している点にあると思う。ハードウェアを完全には隠し切っていない言語であるため、C言語を身につけるためには、プログラムによってハードウェア上で起こる変化を多少想像できるようになる必要があるからだ。
C#やC++、Javaといったオブジェクト指向プログラミング言語の難しさは、C言語の難しさとは少し異なると思う。オブジェクト指向言語の難しさは、その様々な仕組みが(「何に対応するか」ではなく)「何のためにあるのか」を理解することの難しさ。それ故、オブジェクト指向言語については「こう書けばこうなります」ということをイラストを用いて説明しても、実はあまり意味がないように思う。本シリーズならではの革新的なC#入門を目指すなら、「どう書けばどうなるか」ではなく、「そう書くのは何のためか」をイラストを用いて読者に示すようなものでなければならない。だってそんな本、他にないでしょう?
オブジェクト指向の仕組みは、本来はプログラミングを楽にするためのものなのに、現実には入門者の壁になっていると思う。継承・カプセル化・多態性といった「オブジェクト指向三種の神器」だけでなく、デリゲートやイベントといった誰でも頭がコンガラがってしまうような仕組みの「目的」をこそ、イラストでわかりやすく説明して欲しい。
『Cの絵本』を読んだときには、「どうしてポインタがC言語の壁になんかなるんだろう?」と本気で思った。「どうしてオブジェクト指向が入門者の壁になんかなるんだろう?」と本気で思ってしまうような、そんな「絵本」を目指して欲しい。