Smalltalk な本を積んでみた

C++ の本積みがナウなヤングに総受けらしいです。わたしもちょっとやってみましたが、タワーというより2階建て戸建て住宅でちょっと心苦しい感じでした。(uskzさんのはデッカイマンションみたいでしたが)

しかし C++ ばっかり人気なのはちょっと嫉妬です。そこで Smalltalk の本を積んでみました!

ふっふっふ、マイナー言語と言われつつも、結構なかなか、充実でしょう?(特に日本語の本!)

正直、わたしは 似非Smalltalker なので、わたしのタワーは単なるコレクションなのが C++ タワーとは違う所ですが(あっちは仕事上必読)、そうは言いつつも良書のヒット率は高いです。また、80年台後半から90年代前半までの本が多いのですが、にもかかわらずそれほど内容が古びていないのも「過去から来た未来の言語」の面目躍如といったところ。


* * *


良本ぞろいのSmalltalk ですが、個人的のこの本の中で一番好きなのが「サクサクSmalltalk」です。

サクサクSmalltalk―オブジェクト指向のアートとサイエンス

サクサクSmalltalk―オブジェクト指向のアートとサイエンス

Smalltalk とは何か」の「何か」の部分をとても良く表現していて、しかも薄くて安いという優れた本です。UML に関しての 「UMLモデリングのエッセンス」と同じ良さかしら。唯一気に入らないのはタイトルくらいなもので、原題の THE ART AND SCIENCE OF SMALLTALKほうが絶対カッチョイイと思うのです。

というのもこの本の構成は、第一部が「Smalltalkのサイエンス」二部が「Smalltalkのアート」となっていて、「サイエンス」では言語仕様や (開発&実行)環境、ライブラリー、ディペンデンシィ機構(Observerパターン) や MVC といった仕組みについての説明して、そしてそれをうけた「アート」が Smalltalk で プログラムを描く実際について書いてあります。

前半のサイエンスも単なるスペックなぞりに終わらない秀逸な内容なのですが、後半のアートはそこから更に踏み込んで「良い」「美しい」に通ずるなにかをまとめ上げている部分が素敵です。例えば 12.2 設計段階での考慮点 をピックアップすると、この項はその構成だけでも心打たれます。曰く「良い設計のもたらす利益を意識すること」、「実装とインターフェイスを分けて考えること」、「複雑さを隠すような工夫をすること」、「ユーザインターフェイスをアプリケーションのロジックと分離すること」、「クラスライブラリの全体像を心に留めておくこと」、そして「物事を単純なままに保っておくこと」。はぅぅ。



残念ながら絶版ですが、英語でよければこちらで読むことが出来ます。

The Art and Science of Smalltalk(PDF)


* * *


これだけ日本語の本が豊富なのに、Smalltalkってなんでこんなにマイナーなんでしょうね。しくしく。あと、Seaside とか新しめな技術の本が無いのも悲しいところ。

ところで

はてブ

C++の本はいっぱい持っているような気がしてましたが、積んでみれば案外少ししか持っていなかったのですね。」…え?、こ、これが C++er…

http://b.hatena.ne.jp/entry/d.hatena.ne.jp/minekoa/20090713/1247497830#bookmark-user-h-hirai

と言われてしまいました。確かに C++ でプログラムを書くには読んでいるべき本が多いですし、それらを知らないと大抵くずおれるような惨事が高確率で待っていたりなのです。むー。

C++は確かに極端というか、C++特有の事情でタワーが高層化しがち(^^; ですけれど、でも他の言語のプログラマだって、結局似たり寄ったりなタワーを形成してるんじゃないのかしら、と思うのです。特にお仕事言語として歴史が深まれば深まるほど「必読書」は増えていくと思います。たとえば、Java ですとか Java ですとか Javaですとか。

ここら辺は実際にお仕事でその言語を使い込んでいる人のタワーが見てみたいですね。なのでJava屋さんのJavaタワーに興味津々です。と、それとなく Java屋さんにリクエスト。