参考書 < チュートリアルと参考書 < Viivi の小部屋 < Entrance


今すぐ使える参考書

優れた Scheme の本は世界中にあふれています.
ですからユーザはそれぞれ,その中から好きなものを選べばいいと思います.
ここでは僕の経験に沿って,今すぐに使える教科書についてお話しします.

"The Scheme Programming Language" by R. Kent Dybvig

「プログラミング言語 Scheme」という邦題です.
いちばん最初,僕はこの本の日本語訳版を買いました.
(僕の記憶によれば,確か版の違う同じ本を2冊購入した覚えがあります.)
この本の著者は,最新の英語版をインターネット上に無料で公開してくれています:

「なんだ英語版かよ」と落胆しないでください.
小説とは違って,Scheme の教科書は英語でも全く問題ないのです!
ネット上にありますから,今すぐに Scheme を始められますよ!

僕がこの本を始めたとき,

	30
	"abc"
	(+ 20 30)
のような Scheme の S 式については既に知っていました.
これらがどういうふうに評価されるのかも知っていました.
ただし,この Scheme でどうやればプログラミングできるのかについては 全く見当がついていませんでした.

それでも,この本を読みはじめてすぐにだいたいわかるようになりました.
読むときのポイントはこれ:

「読むな!タイプしろ!」

です.
この理論はここに挙げるすべての参考書について言えることです.
この本にはたくさんの Scheme コードが例として挙げられています.
僕は使える Scheme 処理系に,それらを片っ端から入力してその結果を確認していきました.
本の説明文を読む必要はありません.
Scheme 処理系の中で何が起きているのか,全く見当もつかないということが起きたときだけ, その例の周辺にある説明を見てみればいいのです.
これを何回も何回もくり返してくうちに, 僕は Scheme 処理系の中でどういうことが起きているのかがだんだんわかってくるようになりました.
(決して Scheme を完全に理解できているわけではありません.
R5RS を含めて,どの本も完全に理解できているものはまだ一冊もなく, 僕のレベルは Little Schemer の域を出ていません.
誤解のないように.)
だから君にも同じ方法をおすすめします.

君と僕との違いは,君には Viivi があることです.
Viivi は教科書ではありませんから,Scheme のコードそのものを与えてくれるわけではありません.
でも Viivi はチュータ (先生の補助として,学習者の理解を手助けする人のこと) となるべく設計しましたので, 君が Scheme コードを与えれば,その評価過程の中身を見せながら, どういうふうに評価されていくのかをやさしく教えてくれます.
Viivi を使えば,僕よりも 100 倍は早く Scheme 言語を習得できるのではないでしょうか.
(冗談ではありません.本気でそう思ってます :) )

この教科書でだいたいの感覚をつかんでから,僕は R5RS に移りました.

R5RS

これは Scheme プログラミング言語の最も基本的な仕様書です.
R6RS や R7RS のようにもっと新しい版があるじゃないかとおっしゃる方もいらっしゃるでしょうが, Viivi は R5RS に基づいて作られています.
これは R5RS がScheme プログラミング言語のいわゆるデ・ファクト・スタンダードになっているからです.
僕も個人的にこれがいちばん好きで, 論理の世界で遊び回るにはこれで充分だと思っています (いやむしろ多すぎる!)
もし君が R5RS を完全に理解したなら,「Scheme をすべて知っている」と言っていいです.
それならどうしてこの R5RS をここのリストのいちばん上に書かなかったのか?
この小冊子の中にすべてを詰め込んでいるために, R5RS は初心者にはちょっとハードルが高いのです.
確かに説明は的を得ているのですが,例はそれほど多いというわけではありません.
僕にとっていちばんキツかったのは,例のなかにいくつか非常にトリッキーなものがあることでした.
だからもし君がいきなり R5RS から始めても,多分僕と同じような経験をしたでしょう.
それで上の教科書を先におすすめしたのでした.

"Schemeによる記号処理入門" by 猪股俊光,益崎真治

ここでようやく日本語の教科書です.安心しますよね.
あまたの Scheme 本のなかでなぜこれがお気に入りかというと, この本の後半にはさまざまな Scheme のテクニックを駆使した 珠玉の古典ともいえる Scheme コードが豊富に掲載されているからです.
僕は Viivi の開発中ずっとテスト用に, この中のひとつである「N-Queen」問題解決プログラムを使い続けてきました.
理由は,継続 (continuation) がたくさん使われているからです.
出版社様には,この本だけは将来にわたって出版し続けていただけることを切に願います.
(実は少し前にこの本が絶版になったのではないかといううわさか検索結果を 見たような気がしたのです.)
こういう優れた日本語教科書が絶版になるということは, 日本の Scheme 文化の大きな損失であると危惧します.
(はっきりと言っておきますが,これプロモーションではありません.)
できれば電子版も出版していただけるとありがたいのですが.
非日本語話者の方にも,Scheme コードを集めた本として 充分にお使いいただけるのではないかと思っています.
とにかく僕のお気に入りの本です.

Scheme コードがたくさん載っているこの手の本を探して, あるいはネット上から Scheme コードを拾ってきて, その中のひとつを是非 Viivi で動かしてみてください.
Viivi は君専属のガイドとして 1 ステップずつ,その謎のコードの中で何が起きているかを見せてくれるはずです.
少なくとも僕にとっては, ほかのどのアドベンチャーゲームよりもこちらのほうがわくわくして楽しいです.


参考書 < チュートリアルと参考書 < Viivi の小部屋 < Entrance


Contact

2022/03/02 開設
Copyright(C) 2003-2022 ilma <ilma@viivi.io> All rights reserved.