«前の日記(2003年11月12日) 最新 次の日記(2003年11月14日)» 編集

Matzにっき


2003年11月13日 [長年日記]

_ [Ruby]Texas A&M University

ホテルで朝食をすませた後、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教授の出身地)の 文化・慣習の違いについてとかだったような気がするけど。

Design and Evolution of C++, The(Bjarne Stroustrup) しかし、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も同じ意見だと思います。


«前の日記(2003年11月12日) 最新 次の日記(2003年11月14日)» 編集