Webサイトとは「つい、うっかりの存在論」である。

角谷HTML化計画

「むずかしく考えることはない」と、偉そうに葉巻を振りまわしながら、トレヴィラヌスはいった。「ガリラヤの太守がじつにみごとなサファイアを持っていることは、みんなが知っている。何者かがそれを盗むつもりで、間違ってここへ入ったんだ。ヤルモリンスキーが起きていたので、泥棒は殺さざるをえなかった。どうだね、これで?」
 「そのとおりかもしれません。しかし、おもしろくはないですね」と、レンロットは答えた。
J.L.ボルヘス『死とコンパス』(『伝奇集』収録)

2003-10-21(Tue) [長年日記]

■1 通勤の京急で読んだハヤカワSF

また仕事という名の奈落(abyss)に落ちつつある。今月の京急でこれまでに消化したハヤカワSF文庫の積読のリスト。 新旧混ざっているのだが、いずれも貴重な読書体験であった:

この中でも特筆すべきは『あなたの人生の物語』。電網上でも絶賛の嵐だろう、たぶん。思わず妻にも勧めてしまった。

『あなたの人生の物語』収録作のうち、 『理解』は荒木飛呂彦センセイによって漫画化("G","R","E","C","O"の背景に擬音「ゴゴゴゴゴゴゴ!!!」)、 『地獄とは神の不在なり』(天使キター!!)はメル・ギブソン主演で映画化にそれぞれ今すぐ着手すべきである。

Tags: 書籍 | このエントリの del.icio.us history | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | このエントリを含む Buzzurl | このエントリを含む Yahoo!ブックマーク | Permalink

■2 『Accelerated C++—効率的なプログラミングのための新しい定跡』

奈落(abyss)絡みの話。直接私がイジるわけではないのだが、サブシステムの一部にC++が使われている。 C++については何にも知らない。これではあまりに不安なので、手っ取り早くC++のことを知りたいな、と思った。2ch Booksのレビューを読むと、私のニーズにマッチしていそうだったので、入手。

サブタイトルのリンク先であるAmazon.co.jpのカスタマーレビューは毀誉褒貶が激しいが、これは「何らかのプログラミング経験はあるが、C++は初めて。手っ取り早くC++で実践的なコードを書きたい」という人を想定読者にしているから起きている現象だろう。大学のテキストに使うもんじゃないと思うんだけど。独習向きでしょう。

また、アマゾンのレビューでは「翻訳が読みづらい」ともあるが、『Effective Java』よりは読み易いんじゃないの? ……って比べる対象がアレだが。同じ訳者による『プログラミング言語Java 第3版』もアレだよな。せっかくいいことたくさん書いてあるのにね。

だいぶ話がそれた。本書は、まずサンプルコード。で、その一行一行について解説していく。次にサンプルコード。そしてその解説、以後繰り返し、というスタイル。といっても、章の最後にまとめと演習問題がある。当然だけれど、索引もちゃんとある。

何らかのプログラミング言語の経験がある場合は、この方法が手っ取り早いので助かる。解説の文章も丁寧で、内容もデータ構造やアルゴリズム、「なぜプログラマはゼロから数えるのか」といったことにも触れていて心憎い。

現在、どうにか第8章まで読了。まだ第9章も途中だが、ここでやっとクラスが出てくる。クラスの前にジェネリック関数なのな。ポインタと配列は第10章までおあずけ。

本書での、構造体からにょきにょきとメンバ関数が生えてきてクラスになっていく説明は「個体発生は系統発生を繰り返す」といった趣。ここ数年は「はじめに、クラスありき」といった考えで暮らしていた私には新鮮。PL/SQL、Java、Rubyと、C/C++を直接にイジって来なかった(お里が知れますな)私は:

  • これがウワサのデリファレンスか……。
  • 演算子をオーバーロードできちゃうの? 怖っ。
  • #ifndef, #define, #endif ……Velocity?
  • typedefで型に別名をつけられるんだー。
  • 仮引数に対してもconstを明示的にどんどん使っていくのがC++の流儀なの?
  • メソッドというか、関数なのね。
  • 値渡しと参照渡しを明示的に区別できるのか。面倒臭ぇな
  • 関数へのポインタをパラメータにできちゃうんだー。ヤだなあ。
  • ジェネリック/テンプレート関数って便利そうですな。

と、無教養丸出しの感想を抱きながら読み進めている。折りしも「oosquare-mlでは現在、「Java vs. C++」みたいな議論が盛り上がっていた(いる?)が、業務系のアプリケーションを書くにはC++は面倒臭いと思う。Javaぐらいの「選択的な無視(selective ignorance)」が匙加減的にはちょうど良いのではなかろうか。Rubyではまだ業務系アプリケーションをチーム開発したことないので、今のところノーコメント。

といっても、楽観的希望的な推測では、RubyでならArchitectus Oryzus*1がいるようなチームでやれば、相当イケそうな気がするんだけどなー。C++はArchitectus Reloadus向けっぽい。I am the architect. エルゴー、ヴーザーヴィー。Javaはどっちでもイケそうな気が。

*1 これって読み方「アルキテキトゥス・オリズス」でいいの?

Tags: 書籍 | このエントリの del.icio.us history | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | このエントリを含む Buzzurl | このエントリを含む Yahoo!ブックマーク | Permalink
本日のツッコミ(全3件) [ツッコミを入れる]
ykume (2003-10-21(Tue) 23:20)

私は、理解、ゼロで割る、あたりがよかったです>あなたの〜。奈落といえば、なぜか私の職場では、kakutani.comがプロキシでアクセス制限されています。

かくたに (2003-10-22(Wed) 09:50)

有害なんでしょう、おそらく :-P に、しても顧客のサイトをフィルタリングするとはいい度胸してますね(w

tnakamur (2003-10-30(Thu) 17:08)

こっちからは見えるみたい。

[]