ホテルで朝食をすませた後、Stroustrup教授の車で大学まで。 大学を一周して見物させてもらう。
しかし、広い大学だ。筑波大もいいかげん大きいなあと思っていたけど、 ここはその何倍も広い。冗談のような大きさのスタジアムが印象的だった。
Bjarneいわく「キリスト教はテキサス州2番目の宗教だ。最大はフットボール」だそうで、 熱の入れ方は半端ではないそうだ。
午前中はBjarneの紹介で、Salih Yurttas教授と会う。 「今度は授業でPythonを扱おうと思ったけど、Rubyにしようかなあ」とおっしゃっていた。 言語好き同士話が弾む。
昼食をBjane、Salihと一緒にとった後、今度はComputer Science Dapartmentのディレクター、 Valerie Taylor教授に紹介される。
しかし、いくらわざわざ海外から来た客だとはいえ、 実質的に無名な私にきちんと時間を割いてくれる丁寧な扱いに感銘を受ける。 しかも、コンピュータ科学部のボスまで。感謝。
Valerieは
私はずっとAWKなの。 研究してるシステムはPerlを使ってるけど、開発は学生がやってるから。
とのこと。
今回は夕べのディナー、今日の朝食、昼食とずっとBjarneと一緒だった。 せっかくの機会なので聞いた話をまとめておこう。思い出せることを端から書き上げたので、 順不同、時系列無視なのであしからず。
Matz(以下M): C++にはSimulaの影響が見えますけど、他のオブジェクト指向言語、 たとえばSmalltalkからは影響を全然受けていないんですか?
Bjarne(以下B): 受けてないね。 私は元々(ケンブリッジ大の大学院で)分散システムの研究をしてたんだけど、 分散システムのシミュレータを書くのにSimulaを使ったんだ。 ところがSimulaは遅すぎて結局BCPLで書き直したんだけどね。 こういう経緯があるんでCにSimulaの機能を追加したC with Classを作り、 最終的にはC++になったというわけなんだ。
M: Javaについてどう思いますか? (Aarhusでも聞いたけど)
B: 聞かないでくれ。もしPositiveなことを言えば、そんなので満足してるかって言われるし、 Nagativeなことを言えば波乱が起きるし。 15年くらい前にはObjective-Cの連中といろいろあったし。 言語論争は嫌いだ。
M: そのObjective-CのBrad Coxが今JavaとRubyを使ってるっていうんですから皮肉ですよね。 今なにを研究してるんですか。
B: 今は他のプロジェクトを助けたり、会議したりしてるんだ。院生を指導したりもしているよ。 こっち来てから1年くらいにしかならないんで本格的な活動はまだだね。 また分散の研究をしようかなあって思ってるんだ。 あと、大学っていうのは研究だけじゃなく教育もやるところだからね。それについても活動しているよ。
M: というと?
B: 来年そうそうから学部生の授業を持つことになってるんだ。C++を教えるんだけど。 で、いい教科書がなくてねえ。困ってるんだ。 C++を使った教科書はどれも分厚いばっかりで面白くないし。 たとえばこれなんか「回文チェック」って例題のために、 擬似コードでの回文とはなにかって説明に2ページ、C++のプログラムにまた2ページ使ってるんだよ。 テンプレートを使えばこんなのワンライナーなのに(と黒板に書きはじめる)。 おまけにこれなら任意の型のベクターの回文チェックができる。
B: 今は学生のためにGUI機能を設計してるんだ。 今時の授業じゃGUIを使わないわけにはいかないけど、 私が授業でやりたいのはツールキットの説明じゃない。 既存のツールキットをそのまま使ったらその説明時間だけで授業が終わっちゃうからね。 ダイアログを呼び出す同期呼び出しとポーリングを使った非同期呼び出しができる単純なものを考えてるんだ。 やっぱり複雑過ぎるものは駄目だからね(と、設計を黒板に書きはじめる)。
他にもいろいろと話したような気がするのだが、忘れてしまった。もったいない。 録音でもしておくべきだったか。大半はアメリカ、日本、デンマーク、トルコ(Salih教授の出身地)の 文化・慣習の違いについてとかだったような気がするけど。
しかし、Bjarneはえらく頭が良くて、しかも(私の視点から見ても)言語設計に対して「正しい思想」を
持っているようなのに、C++がえらくアレなのはいったいどういうことだろうか。
やはりC++が志向する領域が本質的に複雑で、その複雑な状況に対応するためには言語も複雑にならざるをえなかったということなのだろうか。
もちろんC++の問題の本質は使い方によるのであるが、そういう使い方ができてしまうのも問題といえば問題なのだが。
The Design and Evolution of C++を(サイン入りで)いただいたので、 ちょっと研究してみることにしよう。
夕方からは今回の招待のメイン、招待セミナー。 今回のスライドはここ。 下手な英語ではあったが、そんなに悪い話はしなかったと思うけど、あんまり盛り上がらなかったなあ。
その後、Austinに移動。運転手は昨日と同じ女性だ。今夜は1時間半ほどで到着。 やっぱり途中は寝ていた。乗り物に乗るとすぐ寝ちゃうなあ。
ホテルでRich Kilmer、Chad Fowler、David Alan Blackたちに会う。 少しおしゃべりしてから部屋へ。
で、部屋でLinux Magazineの原稿を書くのであった。
追記:
ツッコミをいただいたので返事しておく。
まず、KLさん。Rubyについて聞かなかったのは、 彼がRubyについて名前以外なんにも知らなかったからです。 私がセミナーで説明した後ではある程度分かって「面白い」と言ってくれましたが、 その後すぐ別れちゃったし。つっこんで聞く機会はありませんでした。
次に、とおりすがりさん。 「私がJavaが嫌いだからBjarneからネガティブな発言を引き出したがっている」という推理は 当たっていないように思います。だって嫌いじゃないもん。 興味が持てないだけで。たぶんBjarneも同じ意見だと思います。
小学校1年生の息子は最近まで自転車にさっぱり興味がなかったのだが、 とうとう自転車に乗ることを覚える気になったらしい。
「やる気になった時にやらせる」のはうちの教育方針なので、 さっそく自転車を買いに行くことにする。 自分で自分の自転車を決めることそのものが、 脳味噌の普段使っていない部分を刺激するらしく、頭から煙が出そうなくらい悩んでいた。
あちこちの店を回ってさんざん悩んだ揚げ句、 BMX風の22インチ車を購入することにした。普通、もうちょっと子供っぽいのにするんじゃないのか。
まあ、いいか。
司会。あまりうわずらなくなってきた。
副監督の一人は岡山、監督も聖餐会終了後は監督訓練集会で岡山。 取り残された私は少々不安だったが、とくになにごともなく終了。
集会終了後、面接。いろいろと懸念事項を聞く。 教会といえどもいろんな人の集まりなので、 心配事やら、問題やらいろいろあるものだ。
依頼されたことは手配しておく。
家庭の夕べで緊急持ち出しカバンの中身をチェック。
前回チェックしてから数ヶ月にしかならないのに、 虫がついてたり、消費期限が過ぎたりで、だめになってるものがあったり。 なかなかメンテナンスが面倒なものだ。
QWERTYに似てるけど、ずっと良いキー配列。
なんだそうだ。具体的には以下のようになってる。
TAB Q W F P G J L U Y ; [ ] \ BS A R S T D H N E I O ' SHIFT Z X C V B K M , . /
個人的には大量に文書を入力する日本語に対して「きゅうり改」があるから、 そんなに魅力的ではないけど、英文をたくさん入力する人には効果的、かも。
This work is licensed under a Creative Commons License.
_ とおりすがり [http://hp.vector.co.jp/authors/VA000092/jokes/strup.html と..]
_ y [http://www.research.att.com/~bs/bs_faq.html#IEEE Of cours..]
_ KL [Javaはともかくとして「Rubyについてどう思うか」という話題への到達は必至ではなかったかと思うのですがどうでしょ..]
_ とおりすがり [なんで「Javaについてどうか」って質問するんでしょうか? 個人的には、まつもと氏がJavaを嫌い(?)なのを自分の..]
_ とおりすがり2 [自他共に認める日本の言語オタクが、現在これほど広く使われている言語に対して「興味がもてない」としらっと言ってしまうと..]
_ まつもと [「好きじゃない」と「嫌い」の区別をしない言語感覚の人にとってはそうなんでしょうね。私自身は「嫌いな言語」という言葉は..]
_ AC [嫌いな言語リストと好きな言語リストをどっかに書いておけば解決する話でしょ。 言語オタクだからと言って自然言語も堪能と..]
_ 村田拓哉 [教授のホームページになぜ、言語の比較をしないのか書いてあります。 http://www.research.att.c..]