レポート:コミュニティスペシャルセッション with Anders Hejlsberg in Microsoft Developers Conference 2006
レポーター:小島 富治雄 (MVP for Visual C#)
詳細
会場: パシフィコ横浜 会議センター
はじめに
「かのアンダース ヘルスバーグ氏が来日する」
そのことは、ふた月くらい前から、C# のコミュニティなどで、話題になっていた。
何せ、アンダース ヘルスバーグ氏は、Turbo Pascal の父であり、Delphi の父であり、C# の父なのだ。これはすごいことなのだ。
私事になるが、プログラミング初心者だった頃、初めて Turbo Pascal を使ったときの衝撃は今でも忘れられない。そして、2000年に出会った C# の衝撃! なんというか、使った人を魅了してやまない、「そうだ。俺こんなの欲しかったんだ」と思わせるような、なんともCool な開発環境を提供してくれる人なのだ。
筆者もプログラマ心(謎)をがっしりと捕らえられてしまったくちだ。だから、この日は、とても楽しみだったのだ。
そして、Microsoft Developers Conference 2006 の一日目のセッションが終わった夕方、パシフィコ横浜のとある一室で、それは始まった。
この日、集まったのは、Microsoft MVP (Microsoft Most Valuable Professional) アワード受賞者、VSUG (Visual Studio User Group) の会員の方、INETA Japan (International .NET Association Japan) のリーダーの人たち。各コミュニティからは、いずれ劣らぬシーシャーパー (C# 好きな方々) が参加している。C# に熱い思いを抱く多くの人が、この日を楽しみにしていた。もちろん筆者もその中の一人だ。
そして、
アンダース ヘルスバーグ氏は、そこに居た。
Welcome メッセージ
いよいよセッションが始まった。
始めに、MVP for Visual C# であり、VSUG (Visual Studio User Group) の Visual C# フォーラムのボードリーダーである菊池 和彦氏から、ヘルスバーグ氏へのウエルカム メッセージが述べられた。C# に対する熱い思いが語られ、また、C# への質問が行われた。
アンダースによるショート スピーチ
次に、アンダースヘルスバーグ氏から参加コミュニティに対する感謝の言葉が述べられた。

ヘルスバーグ氏のスピーチ
そして、我々の質問に対して一つずつ答えてくれた。その様子を挙げてみたい。以下のような具合だった。
※ 以下、A: が全てヘルスバーグ氏。
Q: C# で削った機能や、今後復活させたい機能はあるか?
A: 気に入っているものは全部入れた。解決法がなかったもので、いくつか削除したものはある。
Q: 面白いC#の開発秘話はあるか?
A: C# という名前が付いた経緯が面白い。始めは、COOL (C-like Object Oriented Language) と呼んでいた(会場笑)。色々候補が出たが、最終的には二つにしぼられた。C# と Cs の二つだ。Cs はセシウム(Cesium)の元素記号だが、とあるWeb サイトで セシウム137 というのが大変危険な放射性元素だと知ってやめた。C# には、「C++++」の意味合いもある(といってホワイトボードに以下を書いた)。


C# という名前が付けられた経緯を語るヘルスバーグ氏
Q: 言語の設計をしてみたい人へのアドバイスはあるか?
A: ある。「そんなことはやめなさい」(会場笑・言語の設計をしてみたかった質問者がっくり)。言語の設計には、芸術的・主観的な見方と数学的・科学的な見方の両方が必要。
ディスカッション セッション
続いて、ヘルスバーグ氏を中心に C# に関するディスカッションを行うセッションが行われた。
このセッションでは、本当に多くの、様々な質問や要望が出された。

質問や要望が次々と上げられた
この内のいくつかを以下に挙げてみたい。
意見: C# で Win32 ネイティブ アプリケーションの作成ができるようにしてほしい。
A: やること自体に問題はない。ただ、.NET の場合と違って、ガベージ コレクションがネイティブではアプリケーションごとになってしまう。
意見: C# で OS が書けるようにしてほしい。
A: マイクロソフト内部でそれを調査しているプロジェクトがある。私は勧めていないが、シナリオとしてはあり得る。
意見: C++ から移行した人が、typedef を欲しがっている。
A: typedef の問題は、一つの型が異なる名前を持つことだ。.NET では各型が単独の名前を持つようになっている。typedef を実現するには、全言語がサポートする必要があるが、もう遅い。
意見: (public でないメソッドをユニット テストするために)C++ の friend に相当するものが欲しい。
A: フレンド アセンブリという機能がある。
Q: C# は、関数型言語に特化していくのか?
A: Yes. C# と Linq は、関数型言語にインスパイアされている。これは、オブジェクト指向言語と関数型言語の幸せな結婚(Happy Marriage)だ。
Q: C# の関数型言語としての側面がライブラリに与える影響は? A: 以前のクラス ライブラリでできなかったこと道が開ける。より良いプログラミング モデルが使えるようになる。
Q: AOP(Aspect Oriented Programming: アスペクト指向プログラミング)の機能を提供する予定はあるか? A: AOPには懐疑的。大きなアプリケーションを記述するのには、AOPはちょっと心配だ。誰でも私のコードに機能を入れることができてしまうと、私は自分のコードを保証できない。よりシンプルな機能で同じようなことはできる。属性やパーシャル クラスを使って。
Q: 拡張メソッドは?
A: それも使える。拡張メソッドは、AOP と違って、既存のコードの意味を変えない。コンパイル済みのコードなので。
意見: Mix-in 実装を容易にして欲しい。
A: (ホワイトボードを使って)こんな風な C# のソース コードを書ければ、Mix-in が書けるね。でもこの書き方は、今の C# には未実装なんだ。
意見: (前に出てきてホワイトボードに書き足して)こんな風に書くのはどうですか?
(ホワイトボードを使い、会場も巻き込んで盛り上がる)


ホワイトボードにソース コードを書き合いながら、議論が盛り上がった

“Mix-in”についてのやり取りが書かれたホワイトボード
Q: Anonymous Types ― var による型推論のコストはどのくらいか? コンパイル時間への影響は?
A: (ホワイトボードに書きながら)コストは、0 だ。型推論は、コンパイル時に解決されるので、実行時のコストは0。
Q: 実行時のコストでなく、コンパイル時間への影響の方は?
A: Sorry. (ホワイトボードに .00001 と書き足して)0.00001 だ。
この他にも興味深い意見や質問が多く出た。ヘルスバーグ氏は、ジョークを交えつつも、真剣にすべてに答えてくれた。
会場は、まさに大盛り上がり。

休憩中も C# の話題は尽きることがない
休憩後も続いたアツい議論
個人的には、今後のC# が AOP の方向は選ばずに、関数型言語の方向に進もうとしている、ということを、彼の口から直に聴いたのが感慨深かった。ヘルスバーグ氏の Linq に対する思い入れが伝わってきたような気がした。関数型言語の側面と Anonymous Typeや型推論が Linq と組み合わされたときの強力な記述力は、確かにすごそうだ。彼の考える、C# の今後に今後も注目していきたい、と強く思った。
プレゼントなど
ディスカッション セッションの後は、良い質問をした方々や、このセッション開催のためにボランティアをされた方々に、ヘルスバーグ氏からプレゼントが手渡された。なんと、氏の書籍“The C# Programming Language”だ。
ヘルスバーグ氏から直接プレゼントが手渡された
筆者も頂いてしまった。握手して、ツーショット写真まで撮らせていただいた。「今あのアンダースと並んで立っているんだ」と思うと、恥ずかしながら、かなり舞い上がってしまった。
これが彼から直にプレゼントされたC# 本だ!(生サイン入り)
プレゼントされた書籍
……今だに舞い上がっていて申し訳ない。
最後に、ヘルスバーグ氏からコメントがあった。
「MVP は、.NET や C# にとって大切だ。今回は、インタラクティブなセッションで楽しかった」
ヘルスバーグ氏は、本当に楽しそうにみえた。
午前中と午後に別の C# のセッションをこなし、一日中多忙を極めたはずのヘルスバーグ氏だが、終始笑顔で、しかも真剣にこのセッションに参加していた。何しろ、夜9時を過ぎても、アツい技術議論が全然やまないのだが、ヘルスバーグ氏は、まったく嫌がる様子も疲れた様子も見せず、最後まで笑顔で応じていた。
氏が、一つ一つの質問や意見に丁寧に答えていたのが、とても印象的だった。答えることを、楽しんでいるように見えた。会場は、ヘルスバーグ氏のジョークや明るい受け答えなどによってとても和やかでアットホームな雰囲気に包まれていた。和やかな中、真剣な技術論が交わされていて、本当によいコミュニケーションの場であったと思う。
そして、全セッションが終わった。
会場を出ると、ヘルスバーグ氏を囲んだ写真撮影会が始まった。全体で撮影し、各コミュニティでも撮影し、もちろんヘルスバーグ氏は引っ張りだこだ。
何度も何度も気さくに、写真撮影に応じてくれる。満面の笑みでポーズをとってさえくれるのだ。かのアンダース ヘルスバーグ氏がだ。本当に最後まで、

とてもいい人だ、アンダース!
彼の人柄にも惚れてしまったのであった。
エピローグ
今回、このヘルスバーグ氏を囲んだコミュニティ スペシャル セッションに参加できたことは、本当に貴重な体験であったと思う。ヘルスバーグ氏の話だけでなく、他の MVPの方たちの話を聴けたことも、とても刺激になった。刺激を受けすぎて、しばらく頭がぼーっとしていたくらいだ。
……やがて、盛り上がったMicrosoft Developers Conference 2006 も幕を閉じた。多くの経験とともに自宅に帰ってきた私は、さっそく妻に自慢したものだ。
「どうだ、この本。直にもらったんだ。すごいだろ」
しかし、妻は、「普通の人」なので、C# という言葉を耳にしたことすらないのであった。
「え? 何だって? カーネル サンダースにもらったの?」
んなわけないだろ。サンダースじゃないよ。アンダースだってば。
|