読書会メモ 第1回
『計算機プログラムの構造と解釈』社内勉強会の第一回が開催されました。当面のコンセプトは「プログラマとしての基礎力の向上」です。
今後、勉強会の中で気づいたことや、演習の解答などをメモしていくことにしたいと思います。
![計算機プログラムの構造と解釈 計算機プログラムの構造と解釈](https://images-fe.ssl-images-amazon.com/images/I/51ZSMEJ9Y2L._SL160_.jpg)
- 作者: ジェラルド・ジェイサスマン,ジュリーサスマン,ハロルドエイブルソン,Gerald Jay Sussman,Julie Sussman,Harold Abelson,和田英一
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/02
- メディア: 単行本
- 購入: 35人 クリック: 1,149回
- この商品を含むブログ (480件) を見る
消化内容
第1章―第1節〜第2節途中(p1〜p20)
メモ
Lisp*1の式の一般形
(
…)
Ex (+ 100 35) → 135
Lispでは基本演算子も、利用者に定義される手続きも、式は全てこの形式に従って評価される(ただし、ifやdefineもしくはdefunなどの特殊形式を除く)。これはLispの言語仕様上大変自明なことではあるが、その単純な規定こそがLispに再帰性、自己言及性の保持を可能足らしめている。例えば、多くの言語では基本演算子はプリミティブに定義された特殊な形式をとっている*2が、その理由は人間の直感的な把握を容易にするための「本質的ではない言語仕様」なのだろうという話だった。つまり、Lispでは可読性を犠牲にする代わりに大きな柔軟性を手にしており、難しいが強力といわれている理由の一つもそこにある。具体的にどのようにその柔軟性を生かすことができて、それによってどのようなメリットが生まれるのかは、この本を通して深く学んでいけるはず。
ある言語の最も基本的な仕様を一つ読んだだけで、これだけの考察がなされ得るということに感動してしまった。以上のような話はJavaの世界にいるだけでは決して知り得ないわけで、ひとつ次元を登ることの面白さに改めて気づかされた。