Schemeについての雑感

某黒田氏に影響された某Common LisperにまたSchemeをバカにされたので反論(というほどでもないけど)&いろいろ考えたこと

  • Schemeが教育くらいしか使えないというのは割と同意
  • Schemeはレゴみたいなものだと思う。レゴはすごく楽しいけど、レゴで作った車で公道を走ることはできない
  • Schemeプログラマだって、すべてのアルゴリズム再帰に向いてるなんて思ってない
  • 再帰にはまる時期は必要だと思う。いずれ卒業しなきゃいけないにしても。再帰を書ける人が再帰を書かないのは可能だけど、再帰を書けない人が再帰を書くのは不可能
  • SchemeCommon Lisp(や他の言語)のいいところをsrfiや処理系の独自機能として(あるいは、あくまで慎重にだけどR*RSとして)取り込むことはできるけど、Common LispSchemeの美点であるミニマリズムを取り込むことは逆立ちしたってできない
  • Common Lispを学ぶのに一番不利なのはSchemeプログラマだというのは、ネタとしてはありかもしれないけど、現実には、手続き型の考え方から離れられない人とSchemeプログラマでどっちがCommon Lispの習得が早いかっていったら後者に決まってるじゃん
  • 再帰の楽しさは、わずらわしい処理をコンピュータに押し付ける楽しさ。だから、性能やリソースの面で不利なのは当たり前(そうならないようSchemeではなるべく末尾再帰を使うけど)。このあたりは、LLの楽しさの話に似てる
  • 再帰のとっつきにくさがLisp初心者にとっての壁の一つになってるのは否定できないと思う
  • Gaucheを作ってくれたshiroさんはぼくらの恩人