2004年7月

結城浩の日記

目次

2004年7月31日 (土) - プログラマのダイエット(21日目)

プログラマのダイエット21日目。

ちなみに、2004-07-31 22:16 現在、 Googleで「プログラマのダイエット」を検索すると77件。

2004年7月31日 (土) - 科学の祭典

こちらの日記更新はひさしぶりです。みなさんお元気ですか。

今日は家族みんなで「青少年のための科学の祭典」へ行ってきました。 子供(小学生から中高生?)向けの、理数系の発表や実演などがある企画で、200以上のブースに分かれています。 長男は勝手に会場を回っていろんな体験学習を行い、 次男は幼稚園児ですが、おりがみや紙工作のワークショップなどでは私と一緒に作って楽しみました。

理数系が好きな家族ならば絶対楽しめると思いますよ。 東京では千代田区にある「科学技術館」で2004年8月3日まで。入場無料。

なお、科学の祭典という催し物とは別として、科学技術館の上の階もお勧めです。 特に5階。メカのコーナーやオリエンテーリングのコーナーは夢中になりました(私が)。

2004年7月15日 (木) - シャンプー

お風呂あがり。

次男「ねえ、おとうさん。おとうさんのシャンプーの匂い、魔法みたいに広がってるよ」

2004年7月14日 (水) - プログラマのダイエット(17日目)

プログラマのダイエット17日目。

毎日体重をはかるだけで、ずいぶん意識が変化するものだなと思います。 無理をしていないので、ぜんぜんつらくはないし、数字が見えるのでゲーム感覚で楽しいです。 体を動かしたくなってくるので、ちょっとした空き時間にストレッチもしています。 ちなみに空き時間というのは10秒とか、1分とかそういう単位です。

コンパイルしている間にストレッチ。

2004年7月13日 (火) - ペンギンちゃんと対談

ペンギンちゃんを召喚しましょう。

ペンギン: 結城さん、こんにちはです。

結城: ペンギンちゃん、こんにちは。最近は暑いですね。

ペンギン: そうですわね。でもわたくしは冷房を効かせた部屋からあまり出ないようにしていますので。

結城: うーん、それでは呼び出してしまってすまなかったね。

ペンギン: いいえ、いいんですのよ(にっこり)。ところで何か御用でも?

結城: いや、特に用事というわけではないけれど、おしゃべりをしたくなったので。

ペンギン: あら、光栄ですわ。最近はどんなお仕事をしていらっしゃるんですか? お忙しそうですけれど。

結城: 相変わらずですね。本を書く。連載の原稿を書く。それからプログラムを書く。ネットで巡回…っとこれは仕事ではないけれど。

ペンギン: また、新しい本では読者さんにレビューをしていただくのでしょうか?

結城: いや、まだ決めていません。なかなか苦戦中なので、そういう時間的な余裕はないかもしれませんね。

ペンギン: あら、そうですか。そういえば、昨年出された暗号の本はおもしろかったですわ。

結城『暗号技術入門』ですね。ありがとうございます。そういっていただけるとすごく励みになります。

ペンギン: わたくしは数学はさっぱりわからないんですが、何となく暗号というものが身近になった気がします。あの本全体が1つの物語になっているような気がしますわね。

結城: 物語?

ペンギン: ええ、変な表現ですけれど。ある技術を考える人がいる。でもその技術は完全ではない。それを補うために別の技術を考え出す。でもそれもまた別の問題がある…そういう流れが何となく見えてきて、先を読みたくなるのです。ドミノ倒しのような、不思議な技術書ですわね。

結城: ペンギンちゃんにそんな風に読んでもらえて、うれしいですね。

ペンギン: 結城さんはプログラミング言語の入門書などをお書きになっているわけですけれど、あの暗号技術の本を作ろうとお思いになったのはどうしてですの?

結城以前日記で書いたことと少しだぶりますけれど、私が暗号のことを意識し出したのは、 オライリーの 『PGP——暗号メールと電子署名』を読んでからですね。

ペンギン: PGPというのは有名な暗号ソフトですわね。

結城: そう。『PGP』の本を読んでいて、まるでスパイ小説でも読んでいるようなどきどきを感じましたね。

ペンギン: そうなんですか。

結城: それからBruce SchneierのApplied Cryptographyを読んだりして勉強しました。 邦訳が 『暗号技術大全』として出版されています。

ペンギン: 「暗号学者の道具箱」として6種類の技術を中心に紹介していらっしゃいますわね。あれもシュナイアーさん?

結城: そうですね。あれは 『暗号の秘密とウソ』からお借りしました。決心したのはデニーズでした。

ペンギン: は?

結城: いろいろと章立てを考えていたんですよ。本の構成ですね。あるとき、デニーズで家族と食事をしながら、 ふと「そうだ、暗号学者の道具箱を中心にすえてみよう」と思ったんです。

ペンギン: へえ…。あのう、家族とお食事をなさりながら、ご本のことを考えていらっしゃるんですか?

結城: あっ、えーと。いつもではないですけれど…。ともかく、暗号技術といっても複雑で多岐に渡っていて、 題材そのものにはあまり困らないんです。困るのは何を中心にすえるかなんですね。

ペンギン: そういうものですか。

結城: はい。数学的な側面、マジック・プロトコル、実装技術、社会的背景や法律、それから歴史。ほんとうに深くて広い分野だと思います。

ペンギン: 歴史といえば、結城さんの本にもヒトラーの頃の暗号機械の話が出てきましたわね。

結城: エニグマですね。歴史や人間ドラマではサイモン・シンの 『暗号解読—ロゼッタストーンから量子暗号まで』が抜群におもしろいですね。

ペンギン: 結城さんのご本の中で最も印象にのこっているのは時計演算と公開鍵暗号のところでしたわ。

結城: ああ、RSAの説明のところですね。あそこだけはどうしても、ほんの少し数式がでてきちゃうんです。ごめんなさいね。

ペンギン: でも、細かい理屈はともかく、RSAが驚くほど単純な数式でできていることはよく理解できましたわ。ほんとうに簡単で驚きました。だって累乗と余りだけなんですもの。

結城: そうですね。

ペンギン: ネットをやっていると、パスワードとか、SSLで暗号通信とか、証明書とか、暗号技術がらみの言葉がときどき出てきますわね。

結城: ええ。

ペンギン: 以前は、なんとなくイメージでわかった気分になっていたのですが、結城さんのご本を読んでから、一歩踏み込んだ感じがいたしますわ。

結城: へえ…。

ペンギン: いえ、本当には理解していないのかもしれませんけれど。

結城: たとえばその「一歩踏み込んだ感じ」というのはどんなものでしょう。

ペンギン: お恥ずかしいですわ。ええと。パスワードを入力するときに「このパスワードは何ビットの鍵に相当するのかしら」と思ったり、証明書と言われたら「認証局はどこになっているのかしら。有効期限は大丈夫かしら。CRLというのもあったわね」と思ったりする程度ですけれど。

結城: それはすごいですよ。

ペンギン: そうですかしら(赤くなる)。それから、ご本の中に何度も出てきた security by obscurity という考え方も、とてもおもしろいと思いました。

結城: 「隠すことによるセキュリティ」を信用するな、ですね。

ペンギン: はい。独自の暗号方式を開発して、それをしっかり隠しておくというのは、素人目にはとても安全そうなのですけれど、実はそうとは限らないのですよね。

結城: そうですね。本当に強いアルゴリズムは、公開されていても強い。

ペンギン: そのような考え方というのは、科学実験の結果が論文で公になっていたり、ソフトウェアがオープンソースになっていたりするのと、何となく似ているのではないかしらと思いましたわ。

結城: 確かに、似ているかもしれませんね。ペンギンちゃんは数学はさっぱりわからないとおっしゃっていましたけれど、ずいぶん深く読み込んでいらっしゃるんじゃありませんか。

ペンギン: そんなことはありませんわ。それに、結城さんのご本には、ややこしい式は出てこなかったですし。むしろ、もう少し数式を読んでみたい、と思うほどでした。あらあら、わたくし、とんでもないことを申しましたわね。

結城: いえいえ。そういう読者さんもいらっしゃいましたよ。概念を理解したから、ほかの暗号技術の詳しい本も読みたくなったとか、もっと難しい本にチャレンジしたくなったとか。

ペンギン: あ、その読者さまの気持ちはわかるような気がしますわ。頭と心が活発になって、もっと学んでみたいという気持ちになるんですの。不思議ですわね。

結城: そういう意見を聞くと、私は「ああ、この本を書いてよかったなあ」と思うんです。私の本だけで閉じてしまうんではなく、もっと広がる。私の本をきっかけ、トリガーにして、何かが始まる。いままで積読だった本も読みたくなる。そのような本をこれからも書きたいな、と思うんです。

ペンギン: 何だか楽しそうですわね。

結城: うん、楽しいですよ。

ペンギン: 今日は召喚してくださってありがとうございました。これからもがんばってよい本をお書きになってくださいね。

結城: こちらこそ。暑いところ、わざわざありがとうございました。

2004年7月11日 (日) - わたしは、神のもの

教会で礼拝。

今日心に残ったのは「わたしは神のもの」というフレーズである。 わたしは、神のもの。わたしという存在は神さまのもの。 神さまに「所有」されている存在。 神さまに奪い取られたと表現してもよいし、 神さまに買い取られたと表現してもよい。 もちろん、救われたと表現することもできる。 いずれにしろ「わたし」という存在は私自身のものではなく、 悪魔のものでもなく、誰のものでもない。わたしは、神さまのもの。

わたしは、神さまのもの。神さまに買い取られたもの。 支払った対価は、イエスキリストの血である。 これをキリストによる「あがない」という。 わたしという存在は、神さまに買い取られたものであるから、 わたしの命はすでにわたしのものではない。 わたしの人生もまた、わたしのものではない。 恵みとして神さまからお借りしているもの。 だから、自分で好き勝手なことをしてはいけない。

妻は夫のもの。妻は夫に買い取られたもの。 支払う対価は夫のいのち。夫の全存在。 夫は自分のいのちを支払って、妻を買い取る。 これもまた、1つのメタファ。

C.S.ルイスの書いたナルニア物語のどこかに「主人持ち」という概念が出てきたと記憶している。 野生ではなく「仕える主人を持っている」という意味だ。 仕える主人を持っているというのは、しあわせなことである。

念のために書きますが、私は未婚者をあなどっているわけではありません。 結婚したいという望みをいだいている女性の未婚者は、 自分をあがなってくれる(=いのちがけで愛してくれる)男性を求めるわけです。 男性の未婚者は、自分がいのちがけで愛する女性を求めることになります。 いずれにせよ、結婚というものの中心には「いのちによる、いのちのあがない」があるように思います。

話が抽象的になっちゃったな。

「いのち」の代わりに「時間」と読みかえたほうがわかりやすいかも。

自分の時間を何に使うか。それはそのまま「自分は何を愛しているのか」に直結している。 夫は妻のために時間を使う。妻は夫のために時間を使う。 決して二度と戻ってこない今という時間を誰かのために使う。使っても惜しいと思わない。 時間を使ったからといって、その見返りを何か求めるわけではない。 そのような時間の使い方は「愛」にとても近いように思う。

現代は、愛がない時代。 ものはたくさんある。小金を持っている人も多い。でも愛がない。 愛がなくて、みんな右往左往している。

もしかしたら、自分のために時間を使いすぎているのかもしれない。

祈る。神さまに祈る。神さまに祈る時間を大切にしよう。 朝のひととき。夜のひととき。 忙しく自分のために時間を使いたがる自分を戒めて、神さまの前に出る。 全知全能なる神さまの前に、畏れつつも大胆に出て、お話しする。

「神さま。あなたは素晴らしい方。今日という日を与えてくださり感謝します」

「神さま。私はどのように生きたらよいのでしょうか」

「神さま。私にいのちを与えてくださり、ありがとうございます」

「神さま。今日という一日をどう過ごしたらよいですか」

「天のお父さま。わたしの今日の手の業を祝福してください」

「神さま。私が今日出会う人の上に、主が臨んでくださって、平安と喜びを与えてください」

「神さま。ごめんなさい。私の悪い行い、私の良くない言葉、あなたを悲しませる思いを赦してください」

お祈りは、神さまと本音の交わりの時。 誰にも言えない自分の思いを、神さまに向けて正直に吐露する時。 誰にも邪魔されず、静かに神さまと語り合う時。 世のしがらみや、世間体、過去のあれこれから自由になって、裸の、ほんとうの自分を取り戻す時。 どんなにまずいことがあったとしても、イエスさまの血によって、きよめていただこう。 罪で真っ黒になっていたとしても、雪のように白くしていただけるから。 神さまとのお祈りを大切にしよう。

「わたしは、神のもの。ゆえに神に捧げん」(ゴスペル・ソングより)

2004年7月10日 (土) - 日記

7時ごろ起きる、というか起きず。 おふとんの中でごろごろしながら家族みんなでおしゃべり。

8時から9時にかけて朝食。めいめいにシリアルを食べる。

10時から12時にかけて買い物。トイザらス、無印良品などでいろいろ。 お昼はインドカレー。ナンがとてもおいしくて、みんな大満足。 家に戻ってお昼寝。

夕方、ケーキとお茶。 なんだかお腹がいっぱいなので、夕食はスキップ。

お風呂に入ってから、次男に絵本の読み聞かせ。 今日の本は『そのままのきみがすき』だったけれど、 自分ではとりえがないと思っている女の子のところに王様がやってきたあたりで、 次男はすうすう寝息。

それから少し原稿を書く。

2004年7月10日 (土) - プログラマのダイエット

最近私も年齢相応にお腹まわりが気になってきているので、 「プログラマのダイエット」というのを自分で考え、実行してみています。

ここ1ヶ月2週間ほど続けてみて、それなりに効果が出ているようですので、 みなさんとアイディアをシェアしたいと思います。 ただし、以下の記述を参考にしてダイエットしようと思う方は、 どうか自己責任でお願いいたします。 結城はいかなる責任も負いません。

プログラマのダイエットとは何か。

プログラマはプログラムを作るのが仕事である。 プログラムを作っていて、しばしば「もっと高速化しなければならない」という局面にぶつかる。 「プログラムを高速化する」というのは複雑な技術だけれど、そこにはいくつかの鉄則がある。 私はその鉄則が「自分の体重を減らす」という技術にも応用できるのではないか、と考えた。

「プログラマのダイエット」というのは、 「プログラムの高速化技術」を「体重の軽量化」に応用する方法のことである。

ポイントは3つある。

鉄則1. 計測ツールを使え

プログラムの高速化では、プロファイラなどの計測ツールを使って実行時間(や頻度)を計測する。 ソースコードをちらっと見ただけで、高速化のポイントは決してわからない。 また、改善したとしてもどれだけ改善したのかがわからない。 計測ツールを使って、客観的な数字にするのが極めて重要である。

ダイエットも同じだ。まず体重計を用意する。 そして、毎日それに乗る。そしてその数字を記録する。 頭で覚えていて「何キロ増えた・減った」と一喜一憂しない。 体重計の数字を、日時と共に淡々と記録することが肝要である。

私の場合には、 基本的には朝と晩に服を脱いで体重計に乗った。 そしてその数字を自分の「一人Wiki」に記録した。 YukiWikiの「コメント機能」を使うと、自動的に日時が記録できて便利。 そして、ページ内の数字をピックアップして棒グラフ化するプラグインを作って、 即座にグラフが表示されるようにした。 頻繁に体重計に乗ってみて、人間というものは一日の中でもずいぶん体重が増減していることが分かった。 だから、ピンポイントでの数字で一喜一憂しても意味がないと分かった。 グラフ化して、自分の体重の変化を見極めることが大切なのだ。

鉄則2. やたらに直すな(主要因を見極めてから直せ)

プログラムの高速化では、やたらにソースを直してはいけない。 アドホックな直しを入れてはソースが汚くなりメンテ不能になるからだ。 きちんとボトルネックを見極めてから直すことが肝要である。

ダイエットも同じだ(と思う)。いろんなダイエット方法をやみくもにやっても無意味だ。 どんなによい方法でも、がんばりすぎて続かなくなっては意味がない。 主要因を見極めて、それを確実に取り除く。でもそれ以外はそのまま。ノータッチでいこう。

私の場合には、夜、 本を読みながら食べたり飲んだりするのがよくなかった。 夜中にビールを飲んでいた時期があって、そのころにめっきり体重増加したからだ。 そこで、このたびは「ビール(お酒)を飲まない」「夜中に食べない」 ということを守ることにした。 もちろん、そのほかにもやれば効果的なことはたくさんあるだろうけれど、 そんなにきつく縛っては、長期間にわたって続けるのは難しい。 だから、上記の二点だけはしっかり守り、 あとはまったくいままでどおりでかまわない、ということにした。 実際には、ストレッチをしたり、意識的に体を動かすことも心がけた。 でもそれはオマケであって「やってもいいけれど、やらなくてもいいんだよ」と自分に言い聞かせた。

鉄則3. 度を越した改善を約束するな

プログラムの高速化では、プロファイルを取って主要因を取り除く最初のステップだけは、 とても効果が上がる。でもその後、同じペースで高速化が達成できるわけではない。 しりすぼみというか、だんだん労力に見合った効果は望めなくなる。 だからうっかり「○○%は確実に改善できます」などと請け負ってはいけない。

ダイエットも同じだ(と思う)。 まだ何もやっていないところから、主要因を取り除くと、きっとぐぐっと体重は下がるだろう。 そしてそれを実感できるだろう。 でもその後、ペースは落ちていくだろう(その変化は、きちんと数値化していれば見ることができる)。 だから、過剰な期待をせず、度を越した改善を約束しない、ということにしよう。 それよりも、ダイエットを1つのきっかけとして、 自分の生活を長期的に改善するのだ、と考えるほうがよいだろう。

私の場合には、まだこのダイエットを始めたばかりなので、 いま、ぐぐっと体重が下がっている途中である。 これからどういう風に進むかは実はよくわかっていない。 でも、数字が目に見えて変化するのは楽しいものだ。 体重が減っていくことだけを目標にするのではなく、 広い意味で自分の生活が改善できたらよいなあ、と思っている。

以上。

繰り返しになりますが、 上記を参考にしてダイエットしようとする方は自己責任でお願いします。 結城は何の保証もしませんし、責任も負いません。

追記:ちなみに、2004-07-10 21:32 現在、 Googleで「プログラマのダイエット」を検索すると0件。

2004年7月8日 (木) - 紅茶を飲みながら

ここ一ヶ月くらいは、夜、紅茶を飲みながら仕事をしている。

暑いけれど、冷たいものを飲み過ぎないように注意する。 でも、汗が出るから喉は渇く。 そんなときには、とてもあついミルクティを入れて、ふうふうしながら飲む。 すると体力も落ちず、体も冷えず、喉の渇きはおさまる。

今朝はマクドナルドでも紅茶を頼んだ。 すると「レモンとミルクはお付けしますか」と聞かれた。 レモン? いつも、ミルクティを飲んでいるから、 レモンティというものの存在を忘れていた。

紅茶を飲みながら仕事をするようになったのは、 奥さんが「夜中、仕事をしていてお腹がすくんだったら紅茶を飲んだら?」と勧めたからだ。 そういえば、スティーブン・キングの『小説作法』にも、 紅茶を何杯も飲みながら仕事をする話が出てきたように思う。 あやかろう。

夜は頭が回らない。 ノートに手書きで書いていたメモを機械的にタイプしたり、 Visioを使って図を描いたりして過ごす。 頭は使わないけれど、時間はそれなりにかかる作業をする。 頭を使わず、手に仕事をさせる。 自分の体調に合わせて、作業を工夫する。

もっと若いときには、そんな工夫はしなかった。 とにかく突っ走る。徹夜だろうが何だろうがかまわない。 自分のおもしろさの最前線、自分の興味の最前線を勢いよく突っ走るのが好きだった。

でも、最近は少し違う…かなり違う。 たまに突っ走って仕事をするときもあるけれど、 もうちょっと「からめ手」で進む。 時間をかけて仕事の外堀を埋めたり、 一度作り上げたものを、自分の手のひらの上に乗せてしばらく眺めていたり。 朝、読んでみたり、夜、読み返してみたり。 図を描いてみたり、人に説明してみたり。

もちろんコンピュータは重要な道具だけれど、ふりまわされないように注意する。 無理にコンピュータに合わせるのではなく、 あくまで自分のスタイルにコンピュータを合わせるようにする。 時には、わざと手書きで文章を書いてみる。 時には、わざとネットにつながずに仕事をしてみる。 ディスプレイで読むだけではなく、いったんプリントアウトして文章を校正してみる。 自分の文章を作ることにやっきになるだけではなく、 本屋さんで、同じテーマの部分だけを片端から抜き出して読んでみる。 ほかの人はどう料理しているのかを学ぶためだ。

そんな風に、自分で仕事を組み立てていけるというのはとても楽しいことだ。 幸せなこと、と言ってもよい。たいへんなこともたくさんあるけれど、 とほうにくれたりすることもしょっちゅうだけれど、 たいそう幸せなことだ、と言えるだろう。

このような形で仕事を続けることがいつまで可能なのか、私にはわからない。 変化や変革を必要とするときも、またいつか来るのだろう。 でも、現在の仕事は、いま、目の前にある。 それをていねいにこなしていこう。

楽しみつつ、喜びつつ。

感謝しつつ。

2004年7月8日 (木) - 仕事 / 水盤の発見

本を書いている。

昨日のベンチを今日も磨いている。 きっちり磨いていくうちに、ベンチから出ていた釘に手をひっかけてしまう。 ざっくりと切れて血が流れてくる。よく見ると、釘は何本もある。 危ないから全部抜いてしまおうか。 でも、この釘はベンチをベンチたらしめている大切なものだから、簡単に抜くわけにはいかない。 手間かもしれないけれど、1本ずつハンマーで打ち込むか、やすりで全部けずるしかないか。 あるいは、座る人に「釘に注意してください」と言うか。悩みどころだ。 まずは、後回しだな。

道を歩いていくと、美しい水盤が見つかる。 古い葉が積もって汚れていたので、それを大まかに片付ける。 水盤の下を探ってみると、水の栓が見つかる。少し堅かったけれど、力を入れるとなんとか開く。 水盤がゆっくりと水で満たされていく。うん、これはいいね。細かな汚れはあとで落とすことにしよう。 この水盤は釘も出ていないので、それほど問題は起きないだろう。

今日の仕事は、こんな感じです。

※あ、最近のお仕事日記はすべて「たとえ話」ですので、本当に手を怪我したわけではありません。念のため。

2004年7月7日 (水) - 仕事 / ベンチを磨く

本を書いている。

昨日見つけた散歩道で、とりあえず足元の雑草を抜いて石ころを取り除ける仕事をする。 ここはもともと有名な道なのでベンチなども用意してある。古い木でできている由緒あるベンチだ。 ほこりを払い、冷たい水にひたしてから堅く絞った布で磨いてみる。うん、とてもよい。 気持ちの良い場所になりそうだ。

2004年7月6日 (火) - 仕事 / 散歩道の発見

本を書いている。

地図が見つかったので、嬉々としてジャングルを進んでいく。 急に視界が開けたと思ったらハイウェイに出たので、ものすごく驚いた。 猛スピードで車がびゅんびゅん走っている。 「ジャングルを切り開いていくのもつらいけれど、すでにこんなに開かれたところを歩くのも何だかなあ」 と思いながら少し歩く。

もしかしたら、と思ってわき道に入ってみる。

おお、ジャングルとハイウェイの間には木漏れ日が美しい散歩道があるではないか。 ただ、どうも最近ここを歩く人は少ないようで、道には石がごろごろしている。 「うん、ここを整えたら、すごく気持ちの良い道になるんじゃないかな」と思ってあたりを見回す。 ちょっと左にそれると密林があり、ちょっと右にそれるとトラックがゴーゴー走っている。 でも、この道をていねいにたどっている間はとても静かだ。 小鳥の声も聞こえる。すみれが咲いているところもある。

これまでジャングルを切り開いてきた手間を捨てるのは惜しいし、 ハイウェイも便利なんだけれど、 ちょうどその間にはさまれている、この散歩道をたどってみよう。 うまく石を片付けて整えることができたら「ほら、素敵な道でしょう?」 と友達を呼んでくることができるかもしれない。

今日の仕事は、こんな感じでした。

2004年7月5日 (月) - 説明は難しい

自分ではわかりきっていると思っていたことでも、 いざ実際に文章で説明しようとするとうまくいかない。 「こんなはずじゃないのに」と思うような文章しか書けない。 まあ、いつものことなのですが。 ふみぃ…。

2004年7月5日 (月) - 仕事

本を書いている。

魔法の地図からヒントを得て、本全体の地図を描いてみることにする。 以前も一人ブレーンストーミングで描いたことがあったが、山ほどのノイズが含まれていたので、 今回は各章を中心に据えて、大きな山脈と半島を中心に描いてみる。 一時間半ほど格闘して、ほぼ輪郭は描けた。 今後、各章を書いていくときには、この地図を見ながら書いてみようか。 何かが見つかるかもしれないから。

2004年7月4日 (日) - プログラミング言語についての長男との会話

食卓で仕事をしていると、長男が話しかけてくる。

長男「ねえ、お父さん。お父さんはどんな言語を使っているの?」

私「そうだね、主に使っているのはC, Java, それにPerlかな。」

長男「どんな風に違うの?」

私「世界で一番使われているプログラミング言語はC言語だと思う。動作が速い。けれどもデバッグは難しい。」

長男「ふうん。どうして。」

私「一番大きいのはメモリの管理だろうね。メモリを使う。使い終わったら「もう使いません」と言わなければならない。メモリの解放だ。これを忘れるとバグになる。」

長男「ふむ。」

私「Javaは最近生まれた言語だ。動作はCよりは遅い。でもデバッグはずっと楽だ。」

長男「どうして?」

私「Javaは使わなくなったメモリを自動的に解放してくれるからだ。」

長男「なるほど。」

私「iアプリって聞いたことあるかな。それからアプレットとか。それらはJavaで書かれている。」

長男「ふうん。Perlは?」

私「Perlも使わなくなったメモリを自動的に解放してくれる。とても使いやすい言語だ。でもちょっと癖があるので、使いにくいと感じる人もいる。」

長男「ねえ、いろんな言語を混ぜて使うことってできるのかな。」

私「それはとてもよい質問だ。難しいときもあるけれど、技術的にはできる。」

長男「前半部分をCで書いて、後半部分をJavaで書くとか?」

私「普通はそういう風にはしない。全体はJavaで書いておいて、スピードを必要とするところだけCで書いたりする。」

長男「どうして?」

私「そうすることで、両方の言語のメリットを生かすことができるからだ。スピードを必要とするところをCで書けば、高速になる。一方、スピードを必要としないところをJavaで書けばデバッグが楽になる。」

長男「なるほどね。ねえ、お父さんのWikiって何で書いているの?」

私「Perlだよ。」

長男「だいたい何行ぐらい?」

私「ちょっと待って。この間あなたに見せたのは大体1300行くらいかな。でも、機能がずっと少なくてよいなら、200行もあれば書ける。」

長男「ゲームをするときって、あまり考えないでプレイするよね。」

私「考えない、っていうのは?」

長男「だから、このプログラムはいったい何行ぐらいで書かれているかな、なんて考えないよね。」

私「そうだね。」

長男「意外なところに行数がかかっているんだろうね。スライムがちょっと動くだけでも大変なんでしょう?」

私「そうだね。そこは考えどころだ。すべてのキャラクタの動きを全部別々にプログラミングしていると、たいへんなことになる。」

長男「うん。」

私「だから、共通部分を見つけ出すんだ。スライムが進む。ロボットが進む。人間が進む。魔法使いが進む。それらは全部「進む」という点は共通だ。でも動き方が少しずつ違う。スライムはどろっと進む。ロボットはカクカクっと進むかもしれない。」

長男「人間はすたすた。魔法使いはひきずるように?」

私「もしかしたら空を飛ぶかも。そのように「共通なところは何か」「違うところは何か」を考えてプログラミングする。共通なところは全部共通なプログラムにする。」

長男「ふうん。難しいもんだね。たいへんなんだ。」

私「そう。とても難しい。だからみんなお金を払ってゲームを買うんだ。」

長男「そうか。」

私「自分が表現したいものをどのようにプログラムとして書くか。それはとても難しい。でも、とてもおもしろいんだよ。」

長男「ふうん。」

2004年7月3日 (土) - 日記

6時すぎに起床。

朝食はシリアルと牛乳。 午前中はベッドの中にノートパソコンを持ちこんで本を書く。 眠くなったらすぐに眠れる。

昼食はそうめん。 午後はお昼寝。

夕食は、一口カツとお寿司。 家内が近所のお惣菜やさんから買ってきたもの。

2004年7月3日 (土) - www.textfile.org

www.textfile.orgのサイトを少し修正。 座談会場・Similarity Search・TrackBackを削除した。 少しシンプルに。

2004年7月3日 (土) - 仕事 / ぷわぷわ

本を書いている。

昨日見つけた魔法の地図を各章で試している。 [mo]の章は大丈夫。[nu]と[po]の章も大丈夫。[lo]の章ももちろん大丈夫。 [re]の章と[co]の章はまだよく分からない。

気持ちのおもむくまま図を描く、というのはよい方法かもしれない。 気持ちのおもむくままプログラムを書くのと似ている。

なんだか全体的にぷわぷわしている。 もっとすきっと引き締まらないものだろうか。

2004年7月2日 (金) - 日記

5時すぎに起床。

朝食は目玉焼きにソーセージ。トースト。食後に紅茶。 午前中はデニーズで[po]の章を書く。

昼食は遅め(午後3時ごろ)。サンドイッチに野菜ジュース。それからコーヒー。 午後はJavaでプログラムを書く。

夕食はおそば。 次男への読み聞かせは『フランシスとたんじょうび』。 夜は[mo]の章の図を少し描く。 喉が渇いたので、紅茶に豆乳を入れ、電子レンジで温めて飲んだ。

23時30分ころに眠る予定。

2004年7月1日 (木) - 仕事 / 魔法の地図

デニーズで、本を書いている。

密林の中を歩いているみたい。

今日は、最終章[ra]の章からさらにヒントを得て、 最終章の1つ手前の[po]の章を書いていた。 図を書いているうちに、 これは[nu]の章とも[lo]の章とも関連している図であることに気がつき、 ちょっと興奮。もしかしたらこれは魔法の呪文か。 あっ、今回は魔法の呪文じゃなく、魔法の地図なのかも! と思った瞬間、ジャングルから上にふわっと浮かび上がって森全体を俯瞰。

…でも、すぐにデニーズに落っこちてくる。やれやれ。

地道に書いていこう。

2004年7月1日 (木) - 日記

5時30分起床。

朝食はパンとハムエッグ。 キュウリとタマゴとプチトマトの色の取り合わせがきれいだというと、 家内は「ちゃんと考えて作っているのよ」と答える。

午前中は[mo]の章を書いていた。 お昼近くになって急に最終章の冒頭部分を思いつく。 もしかしたら適切な例になるかもしれないので、ちょっとうれしくなる。 昼食の前に本屋さんに寄って立ち読み。 『結城浩のWiki入門』と 『増補改訂版Java言語で学ぶデザインパターン入門』と 『暗号技術入門』を見かけたので、書棚の本に手を触れて 「神さま、この本を必要としている方に届けてください」 とお祈りする。

昼食はキムチ定食。 その後はJavaでプログラムを書いたりして過ごす。 マルチビタミンのサプリメントと、コーヒーを飲む。 今日はあまり暑くないので過ごしやすい。

夕食は、凍らせておいたライスボールを解凍する。 玉こんにゃくと、野菜ぎょうざと、ポテトサラダ。 それからアールグレイのミルクティ。

今週、次男は風邪気味。 谷川俊太郎の『マザー・グースのうた 第2集』を読み聞かせていると、 次男は、あっという間に眠ってしまった。

今晩は0時頃に就寝の予定。

2004年後半の、最初の一日。

2004年7月1日 (木) - 仕事

本を書いている。

今日は別の章を考えた。 [mo]章の図を一枚描く。 考えながら描いているうちに、少し話が広がってきたみたい。 [nu]の章は枝刈り(というかお化粧)の時期だけれど、 [mo]の章はまだまだ話を広げる時期なので、広がるままに任せてみる。

ぜんぜん魔法の呪文は見つからず、ジャングルは深いのだけれど、 このまま進んで、うまくどこかに行き着くのだろうか。 自分のやっていることが全く無意味なように思えてくる時がある。 でもその一方で、わくわくどきどきして、 いてもたってもいられない時もある。 自分が書きたい本を新しく書いているわけだから、 どこにも「正解」はない。 Webで検索しても答えは見つからない。

でも、そのような仕事を仕事にできるというのは、 この上ない幸福なのかもしれないと思う。 無駄かもしれないけれど、手間をたくさんかけよう。 好きなだけ時間をかけて考えてみよう。 じっくり考えて、よいと思う方向に進んでみよう。

祈らなければならない。

ぜひ、感想をお送りください

あなたのご意見・感想をお送りください。 あなたの一言が大きなはげみとなりますので、どんなことでもどうぞ。

あなたの名前: メール:
学年・職業など: 年齢: 男性女性
(上の情報は、いずれも未記入でかまいません)


何かの理由でうまく送れない場合にはメール hyuki@hyuki.com でお願いします。

映画「パッション」オフィシャル・サイトへ

イエス・キリストの十字架と復活を、メル・ギブソンが映画化!

豊かな人生のための四つの法則