戸田山和久「科学哲学の冒険」

科学哲学の冒険 サイエンスの目的と方法をさぐる (NHKブックス)

科学哲学の冒険 サイエンスの目的と方法をさぐる (NHKブックス)

こちらもあくまで「技術書」として購入した。なんの技術かというと、Computer Scienceを考える上での思考の技術である。結果的には素晴らしく面白い本であったし、特にソフトウェアのテストに関する深い知見を得たように思う。
さて「Computer Scienceを考える上で」なんて書いたけれど、本書を読み終わっての感想は「計算機科学は科学ではなく数学だ」というもの。例えば低層のハードウェアやメモリやCPUの作り方なんて話題は科学であろうけど、データ構造やアルゴリズムなどの層の話題を考えるとき、それは科学とは呼べないな、と思った。ポパーの主張するところの反証可能性もない。世界を理解する為の試みでもないし、なんというか離散数学の一分野なのだろう、その辺りの話題は。
しかしながら、ソフトウェアテストって科学実験とのアナロジーで考えることが出来るなという貴重なアイデアを得た。ソフトウェアが十分に複雑であれば*1、そのソフトウェアに対するテストは、まるでこの森羅万象の中である実験が仮説通りの結果を返すかどうかを確かめるのに似ている。複雑なソフトウェアは森羅万象ほどではないけれど、無限と近似出来る程の状態を持つわけで、あるテスト(実験)が本当に仮説通りの値を返すのか、それは帰納的に確かめていくしかない。どうだろう、どこか科学実験に似ていると思われないだろうか。
哲学系の本って初めて読んだけれど、かなり考えさせられることが多くて面白かった。内容は平易に書いてあるし、300ページ弱と薄めの本だけれど、読むのに結構な時間がかかってしまった。が、科学哲学の入門書としては非常に優れているんじゃないかと思います。少なくとも僕は多いに興味を持ちました。

*1:複雑だということはまったく喜ばしいことではないが、得てしてそうなる