2006-01-16
■[メモ]誰がための多重継承  
			個人的には、やっぱりGUIのためっていうのが、正解なのかなー。
http://d.hatena.ne.jp/yaneurao/20051230
- 最上の日記 1月15日
 
http://homepage3.nifty.com/mogami/diary/d0601.html#15t1
やねうらおさんの議論をみて思い出したんだけど、オブジェクト指向って言うのはGUIでもっとも生きる方法論だよね。オブジェクト指向は(要するにSmalltalk上の)GUIと共に育ち、GUIの構築の時にもっとも力を発揮するものだと思う。 GUI widgetやその背後のモデルの挙動をオブジェクト指向でなく書くのは難しい。それにGUIならクラスに任せてしまえばコードをほとんどかかなくて良くなる、つまりコード再利用なわけだけど、ここからコード再利用神話が生まれたんじゃないかと思う。
反対にいうとGUI以外の世界ではそれほど大した利得はないと思う。よくてコード量が半分になるていど。悪いとオブジェクト指向を使わないほうが短くなる。あのナップザック問題なんかはその例だよね。
かなりはやい段階(Cfrontのころから)多重継承に対応したC++だけど、「C++の設計と進化」にも、Stroustrupは、多重継承をウィンドウシステムをソースを効率的にする最初の例としていたし、標準iostreamの実装で、主に利用したと書いている。逆にそれ以外のケースではほとんど利用しなかったが、多重継承を使わないと、不要にソースコードが拡大するケースが多数存在したため、C++では多重継承に対応したと記述されている。あと、多重継承を不要だという議論は言語議論よりもさらにくだらないと断言しているところを見ると、やっぱり、GUIというか多くのインターフェースに関わるかどうかっていうのが多重継承を容認する人と、いらないと思う人の差なのかもなー。
Mix-inと多重継承の違いが分からないっていう人はMix-in評論家まつもとゆきひろ[訂正(汗)]のこの記事を読めー。いっぱつでわかるから。正直、俺も知らなかったw
- Matzにっき: Mix-in
 
■[メモ]PS3で24人同時ビデオチャットは可能か?  
			以前、同期で集まって飲み会したときに、PS3で何をしたいかっていう話になった。
まぁ、たぶんそのとき、すでに午前3時を回っていたので、ちょっとテンションも高めだったわけだが、その時、俺は現在のコンテンツとしてゲームではなく、社会を変える何かをエンターティメントという形で発信することはできないかと言った。
以前にも書いたが、おれはエンジニアになったら、社会を変えることができる仕事を志そうと思っていたので、そんな気持ちをみんなにわかりやすい形で伝えたつもりだった。そしたら、みんな結構食いついてきてくれてうれしかった。
まぁ、その話はいいとして、そのときに考えたコンテンツが圧倒的な多点接続のビデオチャットだった。つまり、最大24人が同時に会議ができるビデオチャットのようなものがおもしろいのではないかと考えた。まぁ、とりあえず、それをどんなエンターティメントに結びつけるかはいいとして、少し技術的な側面について考えてみる。
現在、そのようなビデオチャットが存在しない理由は、あまりこの辺りの知識に詳しくないのだが、たぶん大きな帯域が必要になるのと、それぞれのPCがヘテロな環境なため、最低レベルのPCでも問題なくうごくアプリケーションを開発する必要があると開発者が厳しい条件で縛られていることの2点だと思う。
ここで、とりあえず日本は世界で最も進んだ通信環境(家に光ファイバーを数千円で引くことができる)を持っており実験環境としてこれ以上の帯域を持つ地域は存在しない。つまり、現在の日本で実現不可能なら、5年後の世界でも実現不可能ということだ。また、端末をPS3ということに固定すれば、端末は現存するPCと比較しても圧倒的な力を持っていることを仮定できる。まぁ、そんなわけで、今の日本をPS3を使って無理なら、この先数年は、このコンテンツは登場しないことになってしまうかもしれない。
まぁ、そんなわけで、どんなものというかサービスになるか考えてみた。
まず、通信の仕方は、Winnyのようなハブ型のP2P以外では厳しいだろう。ここでサーバーを用意してしまうと、ものすごい設備が必要になる。ハブ型なら一人でも太い帯域を持つ人がいたら、その人を中継して、リッチな通信が期待できる。利用できるユーザーの帯域状況に合わせて、最大接続人数と圧縮度が変化できればよいと思う。
で、PS3のパワーを何に利用するかというと、画像圧縮、データ可逆圧縮、暗号化のリアルタイム処理である。遅延が許されないビデオチャットでPS3のリアルタイム処理能力はかなり有利だと思う。特にデータ圧縮と暗号化は複合したアルゴリズムで行うのが望ましい。とりあえず、転送するデータを極力圧縮する。可能なら、リアルタイムに画像処理もできたらいいが、その辺は実際やってみないとどれくらいSPEが余るかわからない。このリアルタイムデータ可逆圧縮は、現在もエッジの通信で使われているが、帯域を擬似的に2倍以上に仮定できる。この辺りは研究が進めば4倍程度は可能かもしれない。
で、ハブとなったPS3はこの画像を受け、統合する。なので、ホームランドみたいにハブとなったPS3は少し挙動が違う感じになるかもしれないけど、議長という形で、いろいろチャットにエフェクトでメリハリをつけれるようにすればおもしろいかもしれない。で、統合した一枚の画像をみんなに送り返すことになるわけだ。まぁ、ここら辺の形態も開発してみないとわからないことだらけだとおもう。ここで、しゃべっている人が強調されたり、甲殻機動隊のような仮想空間が想定できたらステキだなー。
そういえば、以前、研究室で村井純教授の研究会が開発したDVTSを試したみたけど、ものすごいきれいな映像だったなー。これを超える多点接続が可能になれば、本当になんらかの形で社会を変えることができる。そのとき、PS3はゲーム機ではなく、エンターティメントサーバになるかもしれない(なんてきれいにまとめてみた)。
# みむ 『もっと煮詰めたらこれけっこういいものになるはずだよね。また新しいのも考えよう!』
# ちむ 『NTT の研究所に CELL マシンを売り込んで共同R&D;!』
# gamella 『>みむ
どもども、そうね、また、いろいろ話そうぜ。
>ちむ
どもです。それも楽しそうだけど,NTT巻き込むとフットワークが重くなり層だから、技術系ベンチャーを社内に自分で作った方がが早いかもねw』
# まつもと 『「ゆきひろ」です。ヨロシク。』
# gamella 『まつもとさん、本当にすいません。コメントいただけるとは恐縮です。穴があったら入りたいくらい、恥ずかしいです(汗)』