読者です 読者をやめる 読者になる 読者になる

高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

Microsoft The Student Day 2006

すっかり昨日になってしまいましたが、行ってきました。感想等を書こうと思います。
さて、まあ今回は学生のためのイベントと言うことで、わたしは少々場違いな人かもしれません。教員でもないし、生徒でもないし、特に学生のサークルなどに関わってるわけでもありませんからね(^_^;
でも、わたしもとても楽しかったです。時間があっという間に過ぎてしまいました。いちおう名刺交換代わりに、シールラリーというものも開催されていた*1のですが、書いたり渡したりしてる暇なんて全くなかったですね(^_^;
さて、では各セッションについての感想を。

研究 - アイデアを形にする仕事

Microsoftの研究セクションにいる人のプレゼンテーション。実際この研究セクションではどのようなことが行われているのかという解説から、実際にこのような研究職に就くには、どのようなことをすればいいのか、学生の時にどのようなことをすればいいのか というお話です。

どのようなことが行われているのか

今回プレゼンテーションで行ったことは、リアリティのあるCGの作成技術についての研究。植物や平面であって平面ではない、スポンジケーキのような物質の描画。その他にも、3次元モデルに2次元イラストを貼り付ける*2といったもの、画像の”人物”部分のみを選択し切り抜く という研究を紹介していました。

あとは、もっともびっくりしたものとして、ある写真から人物や物体を消去、その背景を補完して作成する といったものを見ました。窓枠の前にカボチャがのった写真を一つ与えると、そのカボチャを消去、もとあったと思われる窓枠や、背景を復元するというものです。
元あったオブジェクト(上の例なら窓枠)の形というヒントを与えるだけで、適切に考えて、窓枠を描画、そしてその奥にあるはずの物体まで補完描画します。
これまでの作品紹介には、まだ聞いたことのある技術も多く、「おお、なるほど」程度でしたが、こればかりは素直に驚きましたね、製品化の折には是非手にしたいものです。
いくつかの成果物は、現在のOffice HomeStyleのおまけや、DirectXなどに実装されているそうですね。まあ、わたしの場合、CG関係に手をつけるのはずっと先になると思いますが、楽しみです。


Microsoftの場合研究セクションは、とにかく上の指図によって動くのではなく、自分で必要そうな技術を研究するという感じのようです。
そして、年一回の開発陣との交流会で*3、発表する そして、開発陣が「つかえそう」と思う技術があったらそれを取り入れて、ソフトを作成する。みんなが自分のオリジナリティを発揮できる、ということになっているようですね。

研究職に就くには

後半は「研究職に就くには」「学生の時にやるべき事」と題したスライド。「id:yurliさんに見てほしかったなあ」と思いつつもメモをたくさんとりました。まあ、ここであんまり盛り上げると二つめのセッションの文に書くことが減るので、言及は控えめにしますが。
まあ、予想通りというか、研究者に必要なものとして、「何事にも興味を持つこと」、「失敗してもめげない情熱を持つこと」、「考えを伝えるコミュニケーション能力を養うこと」、「体力」ということがあげられました。まあ、この辺は次のセッションでも語られてますが、わたしも頷けるものがありますね。
あとは、ちょっと耳の痛い話ですが、数学や英語。まあ、数学は考え方が大事と言うだけですので、公式が解ける必要は(あんまり)ないかもしれませんが…。英語についてはまあ、わたしの実感からもやっぱりドキュメントを読んだり、海外の多くの技術者とコミュニケーションとるためにも、(プログラミング言語ではない)日本語以外の言語は必要と言うことですね。やはり英語で書かれたブログの記事を読解するとか、現地の人と話すとか、できたほうがいいでしょうね。

IT業界に今何が必要なのか(パネルディスカッション)

これはMicrosoftや、NECソフトイーサ日立製作所の人などが集まって、上のテーマについてフリーディスカッションを行うというもの。日立製作所には学校行事で何度かお会いしましたし、もしかしたら実際にお会いしてるかもしれません。名前にも何となく見覚えありますしね。
まあ、それは良いとして。「コンピュータとの出会いについて」や「学生の時にすべき事」「学生に期待してること」などと題してお話をお聞きしました。
みなさんMS-DOS, N88-BASICの時代からずっとPCに親しんできたんですねえ*4、毎度のことですがなんだか圧倒されてしまいますね。

コンピュータとの出会いについて

「パソコンとそれ以外の電子機器との違いは、プログラミングできるかできないか」という話はとても共感できますね。わたしの持ってるPDAだって、確かに機能的にはたいしたことはないかもしれません、手帳とか携帯電話とかで代替できることは多い。それでも手を出すのはなぜかというと、独自にプログラミングできるからですものね。
「優れたプログラムは美しい」この言葉にもとても共感です。プログラミングができるようになったら、是非美しいプログラムを作れるよう、努力していってほしいものです。わたしももっとがんばりたいですね。

学生の時にすべき事

まずは、上で書いたとおり、見た目にも中身にもきれいなものを作るためにも、美しいものをたくさん見ること、それに感動する感情を養うこと、そして、そんなものを作ってみたいな…という気持ちにつなげていくこと。
そして、好きなことをしっかりと見据え、これだというものを見つけること。
学生には時間がありますからね、とにかく、いろいろなものを体験するといいと。会社にはいると企業が使ってるものしか使えない*5、今のうちにいろいろなものにふれておくとよいと言うことですね。そうそう、そのための手段の一つとして、インターンシップなどもあると。
わたしも同感です。就職するまでにある程度自分ができていれば、短時間でも成長していけると思いますが、自分作りからとなるとなかなか難しい。とにかくいろいろなものを見聞きし、自分の中の引き出しを増やすことです。まあ、この辺については、ずいぶん前になってしまいますが、
BeachSide Cafeのおりさんも以前おっしゃってましたね。
やはり研修だけでもこれなんですから、やはり今後、あまり時間はとれないことでしょう。わたしも趣味と
しては、今あるソフト企画を消化していくことで精一杯になりそうですからね。やっぱり、学生の時分にやれることは、やっておくべきでしょう。

引き出しの中にものを入れるのは比較的簡単です。それは、忙しい中でも気持ちさえあれば、どんどん中を増やしていける。しかし、引き出しを増やすのは容易ではない。大まかに言えばこういう事なんだと思います。
この意図をくみ取って、少しでもいろいろなことにふれあってくれる人が、聴衆の皆さんに一人でも多くいることを、願いますね。まあ、心配しないでも大丈夫かな。

学生に期待していること

まず、言えることとして、学校とのつながりを大切にということ、卒業後も学校とのコネクションを大事にしていってほしいと言うことがありました。まあ、人が将来の間にコネクションをもてる人って、思ったより少ない。だからこそ人生の先輩の集団である学校とのコネクションを、是非大事にしてほしい ということですね。
そして次に、多くのことを成功させる――小さな成功を積み重ねること、それによって自信を育てること。――まあ、言うまでもないですよね、周りを見ても自信を持っている人が強いと言うことは、よく分かります。
就職に当たっての話もありました。自分が本当にやりたいことをやること、あるいは、起業することだって考えて良い、と。まあ、はじめから自分のやりたいようにやるのは難しいでしょう。まずは自分の経験値を稼ぐためにも、人に従ってみるのも良いと思います。でも将来的にはもちろん――言うまでもないことですね。

日本のソフト産業について

日本のソフト産業についての言及もありましたね、日本の出力するものはやはりかなり少なく、Windowsやプロセッサを始め、ほとんどの面でアメリカにおんぶにだっこの状態になっています。日本がとれるのはせいぜいソフトウェアの使用料や特許料などのみ、それもそれが動くのは、アメリカ製のOSの上で です。
だからこそ、もっとハードを生かせるソフトを作る、低レベル*6な技術を学ぶなどをすると良い、と、言っていましたね。
しかし、この辺ではちょっと意見が分かれていたようです。ソフトイーサ社長の登さんは、上のようにハードウェアよりの技術を学び、国産OSを作ってみてはどうか などといった話をしておられましたが、日立の高杉さんは、もっとワールドワイドに乗れる技術を持つべきではないか と。
わたしとしては、後者の意見に賛同しますね。もちろんハードウェアよりの知識があったほうがより楽しいでしょう、でも、id:hariboteOSさんもおっしゃっているように、所詮は車輪の再開発、実用に至るまでには何十年、何百年かかるか分かりません。
今は、クライアントPCにデータをおかず、みんなで共有し合おうという時代だと思います。その場で必要なのは、やはり国産OSを作り上げることではなく、もっとこのネットワーク環境に適合するシステムを作り上げることだと思います*7。まあ、確かに今は、OSほど大きな利益を上げることはできないかもしれませんが…。
そうそう、「会社は即戦力を求めていない」という発言もありました。即戦力は今使えるけど、明日はもういらないから と。まあ、これはかなり極端な話だとは思いますが、即戦力になっても良いけど、それを重要視せず、オリジナリティのある人になれ ということでしょう。どうせどんなに仕事しなれた人であっても、会社を変わるときにはそれなりに新たな会社の社風や、決まり、やり方について勉強する必要もあるでしょう、あまり無理することはないのです、必要なのはいろいろな事態に適合できる柔軟さ。そんなことが大事 ということなのかな と思いました。

マイクロソフトテクノロジの変革

これは今までのものとはうって変わって、新しいWindows。Windows Vistaのお話。Vistaで導入されるWinFX その中核となるWPFの解説。
大まかには以前よりアナウンスがあったとおり、XML系のXAMLという言語を使って、GUIをデザインするという機能。これをC#コードを用いて操作する というのが、XAMLの大まかな仕組みです。まあ、XULとよく似てますね。
ただ、ほかと違うのは、CPUはそれら描画オブジェクトの作成処理は行わず、GPUという専用のプロセッサに指示をするだけということ。CPUはGUI以外の処理に集中できるということで、かなりの速度アップが期待できます。事実目の前で見せてもらいましたが、処理的にはかなり複雑なことをしてるのに、結構速いな と思いました。まあ、今はエミュレーションになってるところあるでしょうし、実際はもっと速いんでしょうね。
その他特徴としては、オブジェクトにはビデオ、3Dイメージ、2Dイメージ、テキストなど、それらを同じレベルで(同じようにノードを書くだけで)作成できると言うこと、フレーム単位で動作を規定せず、秒単位で動作を規定するので、プロセッサ性能による動作の違いが少ないとのこと。まあ、前者はXMLUI言語ならむしろ当たり前ですが、後者は特に、ゲームの場合必要になるでしょうね。
もちろん、このXAMLGUIでデザインするデザイナー用IDEも企画中とのこと。Microsoft Expression Interactive Designer*8というソフトで、XAML制のXAMLエディタです。タイムラインもあるし、FLASH MXみたいなソフトですね(^^ゞGUI以外は今まで通りVisualStudio VisualStudio2005に専用アドインを入れて動かすという感じ。ホビーユース(というか、デザイナーと開発者の分業をしない)環境のために、VisualStudio2005の中にXAMLエディタを埋め込むようなアドインもほしいところですね。
また、最初ちょっと聞き逃してしまったので、その間に言ったのかもしれませんが、XAMLだけでオブジェクトの処理やスライダーとほかのオブジェクトのプロパティ といったものを関連づけたり、XAMLだけでもかなりのことを行うことが可能*9。なんかこの辺ちょっといびつだなーという感じですが、まあ、開発者の好みにお任せってところなんでしょうか。


個人的にはまあまあ良いフレームワークじゃないの?と思います。ただまあ、結局普通のアプリケーションでは、XAMLの全機能を使うようなことはなく、あくまでWindowsのUIデザインガイドラインに従ったもののになるんでしょうね。まあ、普通にWindowsアプリを作っておいて、そこに簡単にちょっとしたエッセンスを加えられるのは良いかもしれません。

その他の感想

今回、他の人と話している時間はあんまりもてませんでしたが、それでも周りの人に話しかけたり、話しかけられたり、人脈もわずかながら増やすことができました。
最後のtheSpokeメンバーによる抽選会で出会った人は、CAT projectというセキュリティ関係のプロジェクトを行っているとか、大学専門学校、何カ所か集まってプロジェクトを展開しているとのことですので、うちの学校も一応紹介しておきました。ということで学校にはそのうち、連絡が行ったりするかもしれませんm(__)m
今回思ったことは、学生にもこんなにプログラミングやパソコンに関わる人って多いんだな ということです。わたしもそういう人たちに囲まれていたらちょっと変わっていたかもしれません。まあ、後悔はしても役に立ちませんが、とにかく安心しますね。これでわたしも安心して、先に進むことができるし、同時に進むための自信もつきました。今後もまた、縁があればあのようなところに行けることを願っています。

まとめ

まとめるとこんな感じかな

  • 研究 - アイデアを形にする仕事
    • Microsoftの研究セクションとは
      • 上の指示にはよらず、各自研究したい技術を研究している
      • 開発陣はそこでできた研究成果から、良さそうなものをチョイスして使う
      • シアトルで年一回、開発陣との交流会がある
    • 研究職に就くには
      • 何事にも興味を持つ
      • 失敗してもめげない情熱を持つ
      • 考えを伝えられるコミュニケーション能力
      • 体力をつけておく
  • IT業界に今何が必要なのか(パネルディスカッション)
    • 学生の時分にやるべき事
      • 美しいものを見、感性を育てること
      • 好きなことを見つけること
      • いろんなものにふれ、知識の引き出しを増やすこと
    • 学生に期待すること
      • 学校とのつながりを大切に
      • 小さな経験を積み重ね、自信を得ること
      • 時分の本当にやりたいことを仕事にしよう
  • Microsoftのテクノロジ
    • WPF(XAML)+C#でコーディング
    • WPFの描画処理はGPUがやるCPUは指示するのみ
  • その他

ちなみに、こういうイベントは毎年3/31にやってるらしいですね、来年の3/31は調べたところ土曜日なので、わたしもまたおじゃまできるかもしれません。学生でも教員でもない人は禁止 とか言うのでなければ(^^ゞ

*1:シール台紙が渡されるので、名前を書いてお互いに交換しようというもの

*2:たとえば3次元で書いたウサギのモデルに、2次元のウサギのイラストの模様を貼り付ける

*3:シアトルで開かれるそうです 当然英語必須!

*4:家に来たのがファミリーコンピュータではなくパーソナルコンピュータだった というオチもありますが(^_^;

*5:Microsoftなら必然とWindowsが多くなるとか

*6:ハードウェア寄り

*7:余談ですが、わたしは個人的には、OSなんてもうある程度どうでも良いんだと思いますよ、それはクライアント技術も大切ですが、クライアントなんてすぐ交換したり、新しいのを入れたり、ころころかわるものですから。そんなときにも何ら業務を止めることなく、サーバにすべてお任せできる そんなでも良いんじゃないでしょうかね?

*8:個人的にこのスペルをミスなく素でかけた自分にちょっと酔ってたりして(^^ゞ

*9:もちろんC#コードでもアニメーション動作を来ていさせることはできる