2014年10月14日火曜日

今日読んだ本、Scheme手習い (Daniel P. Friedman (著)、Matthias Felleisen (著)、元吉 文男 (翻訳)、横山 晶一 (翻訳)、オーム社)の感想。

内容紹介

プログラミング言語Scheme は、Lisp の代表的な方言であり、計算機科学においてプログラミングを学ぶ上でもっとも適した言語のひとつでもある。 本書は、 Daniel P. Friedman and Matthias Felleisen “The Little Schemer, Fourth Edition”(The MIT Press, 1995)を翻訳発行するもの。計算機科学の話題を織り交ぜながらSchemeの基本的な考え方を対話形式で学んでいく、イラスト入りの定番の入門書である。

目次

  • 訳者まえがき
  • 序文
  • はじめに
  • 1章  おもちゃ
  • 2章 一度、もう一度、さらにもう一度、またもう一度、……
  • 3章  偉大なるCons
  • 4章  数遊び
  • 5章  *すごい*星がいっぱいだ
  • 6章  影法師
  • 7章  友達と親類
  • 8章  究極のlambda
  • 9章  …… もう一度、もう一度、もう一度、……
  • 10章 このすべての値は何だ
  • 幕間
  • 索引

本書とその続編、Scheme修行と2冊あったから、本書でSchemeに入門して、Scheme修行で本格的にSchemeを使いこなせるようになる感じなのかなぁと読んでみたら、本書のみでSchemeに入門するのは難しそう。なので、Schemeを未経験から学習したい場合は、Scheme - 超言語的抽象(Schemeの変形 - 非決定性計算(ambと探索(駆動ループ(すべてのPythagoras三角形を生成する手続き))))で使っている計算機プログラムの構造と解釈[第2版]や、その補助として参考にしているプログラミングGaucheの方がいい。

内容の形式は、一問一答の対話形式だけど、先の問題の解答に進まないと分からないような問題があったり、一問ずつ順に考えて解いていくことが出来るような感じの順番で問題が並べられてる訳ではなかった。なので、ある問題がぱっとみで分からなくても、立ち止まらずに、どんどん先に読み進めていくことで理解できる感じ。ということで、少なくとも初めて読むときは、一問一答ということは忘れて、対話形式だということだけを考えれば、会話自体は楽しく進んでいくので、すらすら読める。

肝心の内容はというと、最初に書いた通り、Schemeをじっくりと深く理解しようとするのは難しそうだったり、少し記述に癖がある、微妙に最初に紹介した本とコードが違ったりする(というか、Scheme自体がLispの方言だから元々癖があるものなのかも)けど、再帰、カリー化、部分関数等、大切な概念を含み、繰り返し、反復も多く、それなのにページ数も少ないので、最初に紹介した本でSchemeを学習しつつ、それを終えた後、あるいは合間の気分転換に読むのにちょうどいい感じ。また、「少し記述に癖がある、微妙に最初に紹介した本とコードが違ったりする、深く詳細な説明がない」という上で本書の内容を理解できるようになっているなら、各概念を本質的に理解できているということになるので、本書は各概念を本質的に理解できているかを確認するのにはぴったりな1冊。

ということで、Schemeの学習を続けつつ、また、Scheme修行も読んでみたりして、その後、本当に理解できているかを確認するために、本書を再び読んでみようと思った今日この頃。

0 コメント:

コメントを投稿