ガウディ本(CTMCP)の紹介と懐かしい話など
2006-06-12


ASAHIネット([URL]のjouwa/salonからホットコーナー([URL] )に転載したものから。
---
 魔術師本(SICP)、ガウディ本(CTMCP)。どっちを先に読むべきかを書いたの
で、勢いで、以前、紹介した、いい教科書といわれている
[URL]
Seif Haridi, Peter Van-Roy著「Concepts, Techniques, and Models of
Computer Programming」(MIT Press)
(以下、ガウディ本(CTMCP))を、もう少し詳しく紹介しておきます。
 これは、ゴールデンウィーク前に届いたんですけど、夜、寝る前に寝酒代わ
りに少しずつ読んでいます。順には読んでなくて、あっちこっち適当に飛びな
がら読むスタイル。
 Oz言語とMozartシステムをベースにプログラミングのいろんなコンセプトや
モデルを解説してあります。
 Oz言語の最小セットを使った核言語で一番簡単な計算モデルやコンセプトを
記述して、だんだん、必要最小限の基本操作を追加して(たとえば、並行プロ
グラミングにはスレッドを追加など)、命令的/手続き的/オブジェクト指向プ
ログラミングも、宣言的な(関数型、論理型)プログラミングも、全部扱います
し、並列・並行なモデルも、分散モデルも扱います。そして、これらのプログ
ラミングの概念やモデルの長所、短所をまとめてあるし、どういう場面でどう
使えばいいかも解説してあります。
 そういう風に解説しつつ、Ozの核言語でプログラム例を示してあるし、Oz/
Mozart(Ozのプログラミングシステム)で実行できるので理解しやすいでしょう。
いい教科書といわれるはずです。
 全体的には、C/C++/Javaみたいな命令的、手続き的プログラミングより、宣
言的な(関数型、論理型)プログラミングの話がメインだし、全体の通奏低音に
なっています。
 手続き的な言語より、宣言的な言語のほうが、より高水準な言語ですし、ハ
ードとソフトの発達で、高水準な言語でも十分実用的になってきてますから、
プログラミングの教科書、それも概念やモデルをしっかり教える教科書として
は、当然でしょう。
 以上からわかるように、Ozは、並列分散マルチパラダイム言語です。だって、
そうじゃないと、これだけの概念やモデルをOzで記述できませんからね。
 届いて最初、ぱらぱらめくっていたら、GUIの画面があったので、Mozartは、
マルチプラットフォームのGUIのIDEかと期待したんですが、実際にダウンロー
ドして動かしたら、Emacsを使ったものでした。ちょっとがっかり。
 いまどきなら、Eclipseのプラグイン書くか、自分でマルチプラットフォー
ムなGUIを使ったIDEを書いてほしかったですね。そこまで期待しちゃいけない
んだろうけど。
 なんでがっかりしたかというと、EmacsをIDEとして使うものは、まだまだ多
くて、Emacsはその言語と一緒にパッケージングされているんです。だもんで、
いろんな言語を試しているぼくのパソコンには、いくつもEmacsが入ってます。
\(^O^)/
 20年前、Emacsをパソコンで動かすのは大変だったけど、いま、10個くらい
Emacsが入っているから、おれも偉くなって金持ちになったなあと感慨深いで
す。\(^O^)/
 しかも、おれはEmacsはあんまり使えないというね。\(^O^)/ だから、新
しい言語を試すときには、キーバインドもそれぞれの言語用で違うし、毎回、
Emacsの初歩からやり直し。\(^O^)/

 ここで、目次をざっと紹介しておきます。
 amazon.co.jpでは無理でも、amazon.comなら目次が出ているかと思ったら、
中身は目次すら見えませんね。ちゃんと見せてくれる本もあるんだけど。
 900ページもある本なので、一部だけです。
 まず、Short Contentsのページ。全角の(1)や(2)は、本来、ローマ数
字なんですけど、文字化けするといけないので、全角数字の(1)や(2)に

続きを読む


コメント(全1件)
コメントをする


記事を書く
powered by ASAHIネット