2008年03月14日 00:00 [Edit]

(use gauche); 書評 - プログラミングGauche

ピンポーン。ベッドから飛び出してインターフォンへ「はい?」

初出2008.03.13; 販売開始まで更新予定

「SWQ便です」「むぁ、ふぁーい」

ピンポンピンポーン。およ、もう玄関だ。「今行きまーす」

「お荷物こちらになりまーす」ん、また献本か、え、オライリー?オライリー!もしや!

ベリベリ「あ、やっぱり!!」「すみません、先にサインを」

失礼しました。というわけでオライリー矢野様より献本御礼。


本書「プログラミングGauche」は、文字通りGaucheプログラミングの本、でGaucheとは何かというと、Practical、つまり実践的なschemeの実装。で、schemeって何かといえば、うーん、誤解を恐れずに言えば、全てのプログラマーの心の故郷。

目次 - oreilly.co.jp -- Online Catalog: プログラミングGaucheより抜粋
はじめに
第1部 予備知識
1章 LispとScheme
2章 Gaucheの特徴
3章 Gaucheの設計思想や誕生の背景
第2部 Gaucheの基礎練習
4章 Gaucheの開発スタイル
5章 プログラムの書式
6章 リスト
7章 手続き
8章 真偽値と条件判断
9章 状態の管理
10章 テストと例外処理
11章 評価モデル
第3部 実用的なプログラミング
12章 数値
13章 文字と文字列の処理
14章 入出力
15章 テキストの構築
16章 さまざまなデータ構造
17章 総称関数とオブジェクト
18章 構文の拡張
19章 継続
20章 モジュールシステム
21章 デバッグ
22章 データベース
23章 日付と時間
第4部 Webアプリケーションへの応用
24章 GaucheでCGIスクリプトを書いてみる
25章 スケジュール管理アプリケーション
26章 継続渡しによるWebアプリケーション
27章 Kahuaアプリケーションを書こう
付録A Gaucheインストール
付録B Emacsの設定
付録C Kahuaインストール
付録D GaucheとR6RS
索引
コラム一覧
Schemeのすごい点
GucheはなぜPerlの影響を受けているのか?
“The Right Thing”とGauche
端末の文字コード設定
Gauche自身にコードを生成させる
クォートとeval
なぜ配列でなく対で並びを表現するのか?
lambdaの由来
for-eachとmapの引数の順序
構文の拡張とマクロ
matchによる構文の分解
「Lisp脳」の謎に迫る―Schemeプログラマの発想
共有構造を持つリストの表記
すべて式である
ベンチマークを取ってみる
リテラルデータの破壊に注意
総称関数であることを確かめる
動的環境
すべてオブジェクトである(もしそれがお望みなら)
詳細なエラー情報を表示したい
なぜマクロではなくevalを使うとうまくいかないのか?
CPS変換
call-with-current-continuation
モジュールの読み込み対象となるパス
syntaxオブジェクト
セッション管理のセキュリティ
LinuxでのNPTLサポート

PerlにしてもPythonにしてもRubyにしてもJavaScriptにしても、あれこれやっているうちにいつかSchemeにたどりつく。素人とはとても言えない人たちが、毎週素人くさいSICP読書会をやってたり(うち月一回は拙宅が会場)、OS作っている人がいつの魔にshellをscheme化していたりというのには訳がある。「Scheme生まれ」でなくても、いつの魔にそこにたどりつく。それがScheme。

なのに「Scheme生まれ」、すなわち Computer Science の手ほどきを Scheme で受けた人々(実は私もそうだ)が何で「出家」、いや「還俗」してしまうかといえば、その理由、いや言い訳が「Schemeじゃ飯食えないじゃん」というもの。「Webページをどうやって読み書きするの?」「正規表現って使えるの?」「括弧ばかりで読めませんorz」....

「だったらSchemeでそういうこと出来るようにしたらいいじゃん」と立ち上がったのが、shiroこと川合史朗。「Perlに頼らずとも、Schemeだけで仕事ができるようなSchemeがあればいいじゃん」ということで彼が書いたのがGauche。

しかし、「ないのなら つくってしまえ オレ処理系」というのはサイヤ人ならOKでも「ふつうのプログラマー」はそうはいかない。「ないのなら 出るまで待とう 動物本」あたりが、スカウターが一桁の地球人というものである。

本書は、まさにそういう本だ。本書の内容をきちんと学べば、サイヤ人は無理でも天下一武闘会でいいところまで行けるようになるはず。

本書はまた、SICPのこの上ない副読本にもなる。SICPはあくまで「schemeコンピューターを学ぼう」という本であり、実のところschemeという言語の教科書としてはイマイチ。その意味で同書は諸刃の剣で、「schemeすげー」と目覚める子がいる一方、「schemeって黒板に書く言語だよねー」、すなわち「学習には向いていても実践には向かない」だとか「λλλ....ついていけない人がとぼとぼと立ち去るの図」だとかという誤解の理由の一つともなっていることは否めない。

それにしても、500ページ強で3,360円とは、オライリーにしては勉強してくれた。実はこのページ数って、目次を見ての通り内容と比較すればかなり少ないのだけど、カヴァーしている範囲は1000ページ超えのラクダ本にひけを取らない。ラクダ本ほど分厚くなっていないのは、まだGaucheが若いから。いずれはラクダ本やヘビ本のように太っていくのだろうか。でもそれは避けてそちらはCookbookに期待。

とりあえず一時間ほどフムフムヌクヌクアプアアさせてもらったけど、至福の一時間でした。それにしてもこの名前は反則!萌え死ぬ!フムフムヌクヌクアプアアフムフムヌクヌクアプアアフムフムヌクヌクアプアア....[誰かCtrl-Cを押して上げて下さい]

'(dan the occasional schemer)


この記事へのトラックバックURL

この記事へのトラックバック
ものすごく長い道のりでした。 ようやく読了!!
[本]プログラミングGauche【Bugle Diary】at 2009年06月30日 23:06
書評リンク - プログラミングGauche
プログラミングGauche【書評リンク】at 2008年08月01日 22:14
共訳者の佐野様より献本御礼。 実践Common Lisp Peter Seibel 佐野匡俊 / 水丸淳 / 園城雅之 / 金子祐介訳 [原著:Practical Common Lisp] なんでこういう Common Lisp 本がなかったかという、さまざまな意味で21世紀的な Lisp本。LL、特に「P言語」の読者は...
LLからCL? - 書評 - 実践Common Lisp【404 Blog Not Found】at 2008年07月28日 10:01
(use gauche); 書評 - プログラミングGaucheてインターフォンへ「はい?」 プログラミングGauche Kahuaプロジェクト / 川合史郎 監 初出2008.03.13; 販売開始まで更新予定 「SWQ便です」「むぁ、ふぁーい」 ピンポンピンポーン。およ、もう玄関だ。「今行きまーす」 「お荷物...
ピンポン【スタンドアップ】at 2008年04月13日 02:02
『ピンポンパンのうた』の歌詞について・・・『ピンポンパンのうた』の歌詞の中に「♪...
ピンポン【れいこの日記】at 2008年04月12日 21:15
ピンポン(4)商品価格:919円レビュー平均:5.0 (use gauche);...
ピンポンパンを見る【NewsToday】at 2008年04月12日 16:40
三ヶ月の休暇を利用して、Scheme を勉強してみようと思います。最終的には SICP の積ん読状態をなんとかしたいのですが、それに先駆けて 404 の人の所で紹介されていたオライリーのフムフムヌクヌクアプアア*1本を読んでみようという試みです。 私の場合、どんな言語を使っ
[書籍]プログラミング Gauche【May the Source be with you】at 2008年03月15日 16:16
この記事へのコメント
素人くさい勉強会@弾小飼邸は、週一じゃなくて月一。
週一にしてくれてもいいですが....。
Posted by heita at 2008年03月14日 17:32
ワレいい度胸してやがるのぉ?
Posted by 広島天政会 at 2008年03月14日 07:12
バーカ。
Posted by 死ね。 at 2008年03月14日 07:01
zorioさん、
コメンナサイゴメンナサイフムフムヌクヌクアプアア
maruさん、
羹にこりて膾を吹くこと。
というわけでshiroで統一しちゃいました。
Dan the Typo Generator
Posted by at 2008年03月13日 23:01
だったら弾さんはスーパーサイヤ人3でしょ。
Posted by nanasi at 2008年03月13日 21:20
s/史郎/史朗/g
ではないでしょうか。
Posted by maru at 2008年03月13日 18:37
zonio

zorio
です。細かくてすいませんが。
Posted by zorio at 2008年03月13日 18:35
zonioさん、Passer-byさん
ありがとうございます。フムフムヌクヌクアプアアが止まらなくて....
'(dan the typo generator)
Posted by at 2008年03月13日 17:58
s/天下一舞踏会/天下一武道会/

# コーヒー吹いた
Posted by Passer-by at 2008年03月13日 17:47
Gauche がオライリーの動物本になる日が来るとは・・・
Posted by ■□ Neon / himorogi □■ at 2008年03月13日 17:42
本書「プログラミングScheme」は、

本書「プログラミングGauche」は、
Posted by zorio at 2008年03月13日 17:35