ObjectSquare [1999 年 12 月号]

[OOエンジニアの輪!]


OOエンジニアの輪!

〜 第1回 友野晶夫さんの巻 〜

オブジェクト指向技術者の方々に毎回お話を伺いながら、次のゲストも紹介していただこう、という某お昼の長寿番組のパクリのようなこの企画。ちなみに、「今日も暑いね〜」(そうですね)なんて決まり文句はありませんので、あしからず。記念すべき第1回目のゲストは、「アナリシスパターン」の翻訳者の一人で、現在 JapanPLoP の代表を務めていらっしゃる友野晶夫さんです。
尊敬する人 王貞治
(ちなみに、このインタビューが行われた日は 10/28。
数時間後に王監督は胴上げされていました!タイムリ〜)
好きな言葉 With all the will in the world,
Diving for dear life.
When we could be diving for pearls.
(Elvis Costello - Shipbuilding より)


オブジェクト指向を始めるきっかけ

--- よろしくお願いいたします。早速、略歴ということでどういった観点からでもいいんですけど。

OOとの関わりという点でいきますと、大学の頃、89年だったか 90 年ぐらいに、Macintosh の開発環境で MacApp というのに触れる機会がありまして。もうちょっと言うと、MacApp の前に HyperCard みたいなのがはやりましたよね。その辺から入ってきています。

--- どっちかというと、GUI 関係とかというのが多かったんですかね。

そうですね。私、コンピュータどうのこうのってのは中学生の頃からやっててですね、やっぱり非常に不便だったわけですよ。本で GUI 環境っていうのを見るにつけ、中学生の頃に買ったマシンではできなかったわけですね、どうやったって。

---ちなみに、中学時代に買ったコンピュータって?

FM-8 ですよ、FM-8 (笑)。それらしいものをFM-8 の上で構築したりしてみたこともあったんですけど、結局メモリだとか資源だとか足りなくてどうにもなりゃせんのですけどね。そういう意味で、GUI の方から入ってきたという感じです。

で、FM-8 の時代って、すごい不便だったわけですよね。ちょっとした変更でもやられちゃうようなプログラムコードでしたから。MacApp とか HyperCard とかに触れるにつれ、そういうのを解決していくようなプログラミング手法みたいなものへの期待というのが出てきて。実は会社に入ってから、初めの頃はパッケージ商品みたいなGUI がらみのところもやったんですけど、興味の中心はそっちよりもむしろドメインの方に移ってきましたね。

--- それは何か理由があるんですかね。

やっぱり GUI のところがいくら楽になってもね、という話で。本質的に「楽にしたい」ということなんでしょうね。始めた頃は GUI のところの複雑さに目がいっていたわけですけど、複雑になる原因というのはそこばかりじゃないぞ、と。


オブジェクト指向の好きなところ、嫌いなところ

--- オブジェクト指向について好きなところ、嫌いなところ、という点では何かあるでしょうか。

OO っていう言葉の範囲もあるんですけれど、純粋に、工学的に目からうろこ、みたいなところがいろいろありますよね。それと、いろいろな人が今一生懸命議論しているところじゃないですか。例えば、今実際にできるからといって DOA だとかを一生懸命やっても、そこってもう先がないわけですよ。新しいのを書く人もいないし。

--- 根強い DOA 信仰みたいなものもありますよね。…嫌いなところってありますか。

コミュニティという視点でいうと、ちょっとスノッブな雰囲気というか、なんていうんでしょうね(笑)、やっぱりありますよね。あれはちょっと、ときに鼻についたりするときありますよね(笑)

--- コミュニティに、なんですか?誰に、とか

誰にというのは…、いや、ないですないです(笑)

--- やっぱりまだ、変なといったらあれですけど、そういうコミュニティがあるんですかね。

だんだんと解体されつつはあると思うんですけどね、本当にコアなスノッブな部分というのは。結局、そういうコミュニティを作っていた人たちって本当に OOP だけの人たちだったんですけど、今となってはそれだけじゃやっていけないわけですよ。本当に遊びだけでやってるっていう人でなければ、もうそこから出て行かざるを得ないんですよね。もっと謙虚に、OO 以前からある知見を導入してきて、OO の世界に焼きなおすだとか、そういうことしていかないと生きていけないんですよね。

--- 結構、OO に対する批判ってありますけど、OOP までなんとか来た人たちってそういう側にまわっているような気がしないでもないんですけど。

あー、そういうのがあるのかもしれない。いや、この先「オブジェクト指向、もうかりまっか?」というところでお話しようと思っていたんですけど、例えば、Exciting James Brown ですか? EJB(一同笑)。例えば、システム提案をするとき、EJB だとか、Java だとか、くっつければなんか金になるだろう、みたいなところがあったりするじゃないですか。あざといですよね、あれ。そういうところで客を煙に巻こう、みたいな。

--- ありますね、煙に巻き系(笑)

だから、「オブジェクト指向、もうかりまっか?」という意味では、OO 単体で儲けるというのは、煙に巻き系と同じになっちゃうわけですよね。「煙に巻く」っていう感じが、そのスノッブな雰囲気と何かつながってくるだろうし。だから、OO をやること自身で儲けるというよりは、OO をやることにより手に入る特性だとかが大事だと思います。

--- それは、オージス総研にとっても重要なポイントですよね。

まあ、オージス総研さんの場合はツールだったりしますからね。ツールだったら、ユーザが開発者ですから、いいんじゃないの、と思ったりもするんですけど。そうじゃないやつですよ。EJB みたいな。でね、また客も悪いんだ(笑)。客もなんかそういうスノッブな雰囲気を求めていたりするときがあるわけですよね。ともすれば、こっちが何も言わないのに、煙に入ってくるような。ああいうの、病んでますよね。そのうち首をしめることになると思うなあ、お互いに。


オブジェクト指向に未来はあるのか?

--- そういう意味では、「オブジェクト指向に未来はあるのか」という話にもつながると思うんですけど。

やっぱり、適正なところにいかなければいけないと思うんですよ。一時期、ホストの環境で、ていうのが栄えましたよね。あれ、悪くないと思うんですよ。みんな勝手知ったる世界になって、そこでやりとりできる。だから煙に巻きようがない、ある意味で。そういうところを目指していくってのは、一つには大事なんでしょうね。反対の方向として、多様化っていうのは常に見ていかなければいけないんでしょうけれど。だから、必要な常識ベースの普及、みたいなことなんでしょうね。その常識ベースをちゃんと広めて、煙に巻かれないようにした上で、多様性を求めていく。そういった努力をしないと、結果的に商業的には未来はないのかなあ、と。

--- そういう時代っていうのは、例えば IBM さんであるとかが、どーんと機械をいれて、SE をどーんと送り込んでという時代ですよね。

まあ、ああいうスタイルの商売がどうかっていうのは別の話なんですけど、その時代のよかったところっていうのは、ソフトウェアプロセスとしてのしつけだとかがしっかりできていたんですよね。SCM 的な視点だとか、今では SCM の初歩のところがかなり危うかったりするわけですよね。「ちゃんとバージョン管理しろよな」みたいな話があったり(笑)。

--- 確かに、そういうところはある意味退行しちゃいましたよね。

それと、お客さんが「煙に巻く系」のところへ投資していっちゃうことで、業務プラクティスの発達が止まっちゃうと思うんですよ。お客さんとしては、IT インフラを次から次へと入れていくことよりも、大事なのは、プラクティスをより洗練していくことだと思うんですよ。だから、新しい道具があってよりよい業務プラクティスを考えるというのであれば、いいと思うんですよ。でも、現状を見る限り、ツールに引きずられちゃっている感じですよね。特に、新しい IT を入れるときの要求として現行保証みたいなことがなぜか出てきますよね。プラクティスを変えようとしてやっているはずなのに、それっておかしいですよね。現行保証しちゃうと、そのプロジェクトでのプラクティスの洗練って止まってしまいますよね。


パターンについて

--- それでは、パターンについて語っていただければ(笑)

これは弱りましたね(笑)。かえってあまり語れないんですよ。今、ちょうどパターンコミュニティの中でも、これから認知科学だとか建築だとかという知見に基づいて、じゃパターンとは何なのか、という考察を進めていこうというシグが発足したばかりですし、そこで私の主観を言ってしまうのもまずいかな、と。今はちょっと避けておきます。

--- 分かりました。それではまたそういう機会が来ましたら、ぜひ広場ででも。

ただ、パターンコミュニティの話になっちゃうんですけれど、パターンコミュニティの活動なんかを見てると、みなさんシャイですよね。言った者勝ちみたいなところもあるんだから、どんどん言ってくれればいいのにな、と。初めから洗練してどうこう、なんてことはやる必要がないと思っているんですよ。ともかく、いろんなアイディアを出したりとか、誰かが出したアイディアを使ってみてどうだったとか、そういうことで盛り上がっていければな、というのが本筋だと思っているんですけどね。

--- 今、何名ぐらい参加されているんですか?

今、150 人ぐらいだと思います。そろそろ組織もちゃんとしなきゃなあ、という話で、総会をうって、NPO とかにするんですよ。

--- 好きな GoF パターンってありますか?

Facade ですねぇ。渋いじゃないですか(笑)。他のやつはちゃんとモデル図が書いてあるんですよ。あれって UML で書けないんですもの。だって、中が何でもいいんですもん。

で、また一番悩みの多いところでもあるんですよね。例えばアナリシスパターンなんかで出てくるアプリケーションファサードというのがあるんですけれど、Jacobson の方法論で言うとコントロールオブジェクトだとか、その辺に相当するんですが、これが、Jacobson の言うように、一つのオブジェクトで一つのユースケースに対応させてしまうと使いにくい、というところがあって、じゃこれにどう構造を与えたらいいか、という話がでてくるんですよ。Facade みたいに、2つのコンポーネントの間に遮蔽板を置くだけの意味で置かれているクラスに、構造のようなものがでてきてしまう、置いた方が便利な場合がある。それってどういう基準で考えたらよいのだろうなぁ、ということがあったりですね、なかなか深いんですよ。

逆にあの GoF の記述では足りないんじゃないかな、と思っているんですよね。つまり、Facade って一言いうんじゃなくて、やっぱり Facade の中の構造というのを考えなきゃいけない。Facade だけで一冊本が書けるんじゃないかなと思っちゃうくらいなんですよね。

--- ぜひ。

いやいや、そこまでは(笑)。…あれですよね、往年の川相とか篠塚を思い起こさせる渋さですよね。

--- うーん、なるほど(笑)。宇野とかは違いますよね?

宇野っていうと、何かな。Singleton かな?(一同笑)野球選手とパターンの対応って、結構面白いですね。

--- ぜひやりませんか、広場の記事で。

それはいいかもしれない。ほとんど、バカはサイレンで泣く、の世界になっちゃいそうですけど(笑)。


オブジェクト指向へのエール

--- オブジェクト指向へのエールといった観点で、OO についてお話いただければ、と思うのですが。

一つには、これから OO をはじめる人たちについては、自己コントロールというものが大事でしょうね。自分自身をイタラティブに育てていくということが肝要だと思います。(私の場合)ちょうど時代的によかったんだと思うんですよ。だんだんとニーズが上がってくるところだったんで。だから、これからの人は大変だと思うんですよね。ともすれば、周りの勝手に動く意思で、(OO に関する知見を)磨くことなしに進んでいってしまうことになりかねないんで。

もう一つ、これから OO(のプロジェクト)をはじめるという上で。いろんなプロジェクトを見ていて失敗しがちなのが、Unified Process でいうところのプロジェクトマネージャシステムアナリストアーキテクト、僕は勝手にビッグ3と名づけているんですけど、これのどれか一つが不在だと、だいたいプロジェクトは失敗するんですよね。

--- なるほど。

これから OO をやるっていう組織があれば、アーキテクトなんてのはまず、その場で手に入れることができるわけないですよね。システムアナリストはもしかしたら、やり方を教えれば流用が効くかも知れない。プロジェクトマネージャもなんとかなりますね。それでも、プロジェクトマネージャがずっとホストの世界でやってて、イタラティブにやるなんてのが頭にないとなると、やはり新しい方法論をやる上ではリスクが高すぎます。システムアナリストなんてのは、そういう視点すら実は今までなかった、というケースもあります。

そういうときに、例えばメンターを雇うとか、コミュニティに潜り込むとか、傭兵を使うとか、そういうところを積極的にやっていったほうがいいんだろうな、と思いますね。それに、昔のやり方だとプロジェクトマネージャがスーパーマンになっちゃうんですよね。そうなると、当然手が回らないですし。

--- つまり、一人の人がすべてやる、というのもよくないということですね。

そうですね。それぞれ、専門分野が違いますからね。


日ごろの生活は?

--- 日ごろはどういったところに出没されて、どういったことをされているのですか?(笑)

いや、日ごろは飲み屋でいりびたってますよ(笑)。よくいるのはここの地下一階の「そじ坊」って飲み屋なんですけど。

--- 結構お好きなんですか?

いやー、もう大好きですよ。一時期モルトウイスキーにはまっていた時期がありまして、あの世界はだめですね、お金がかかっちゃって(笑)。昔、立川に住んでいたんですよ。立川のあたりって、結構いいバーがあって、「タイムステーション」ていうお店がお勧めです、これ。

--- 何のページだかわかんなくなってきました(笑)

ここのマスターが酒オタクなんですよ。だいたい、置いてあるボトルが尋常じゃないですもん。基本的にモルトってのはそんなにいろんな種類があるわけではないですから、ワインなんかに比べたら結構種類を押さえるのは早いんですけど、ボトラーが違うだとか、すごいマニアックな部分があるんですよ。例えば、同じマッカランでも、1960 年より前のやつは違うとか。そんな話をしてて、「いや、そこにあるのさ」って言われて、「はぁ〜」とか(笑)

またねぇ、すごいんだ。モルトといっても実はバッティングしている、っていうことなんですよね。これ、割と知られていない事実なんですけど、同じ種類の樽同士でバッティングするんですよ。できのいいやつもあれば悪いやつもあるから、バッティングして平均的な味にして出荷しているんですけど、そのバッティングする前のいいやつを押さえる組織があるんですよ。The Assocation だとかいう。

--- ほぉ〜

で、スプリングスバンクの The Association 版ていうのを飲ませてもらって、これがすごかった(笑)。なんて言うんでしょうね。フローラルというか、なかなか人生で得がたいというか。パターンに例えて言うと、Visitor ですかね。

--- どの辺が Visitor なんですか?

ダブルディスパッチがかかっているあたりですか?(一同笑)

(本人解説:「スプリングスバンクをくれ」と言っても、その時の状況や、誰が言ったかによって結果が変わるということを表しています。)


最近うれしかったこと

--- 最近うれしかったことってありますか?

やっぱり、JapanPLoP がよちよち歩きをそろそろ始めたのかな、というところでしょうか。精子と卵子がくっついて、細胞分裂しているだけだったみたいなやつが(笑)

--- やっと、手足もできて(笑)。これからどんな風に道を歩んでいってもらいたいですか?

うーん、父としてはやはり、立派な人にならなくてもいいから、自分のことは自分できちんとできるように(笑)。

--- いつか、巣立っていく日を夢見て(笑)。最終形ってどんな感じになるんでしょうね。

最終形はやはり、解消でしょうね。私自身、あまりビジョンはないんですけど、永遠にやっていく作業という感じはしていないんですよ。むしろ、常態化してしまって、会としてどうのこうのとは。結局そういうプロセスだとか、プロセスを流すために各人が使えるコミュニティだとかができてしまえば、それで使命は終わりかな、と思っています。

--- 目標としては、どういったことなんですか?

とりあえず、今の目標としては、二足歩行すること(笑)。ともすると外から見て、活動しているのかしていないのか分からなくなっちゃうんですよ。うちと、US の PLoP で何が一番違うかというと、PLoP のほうは、PLoPD という形で成果物みたいなもので社会に貢献しているじゃないですか。そこだと思うんですよね。今の段階では、そういうのを「日本人もできるんだぞ」みたいなことですかね。得てして、OS なんかもそうですけど、方法論も舶来ものばっかりじゃないか、という話があって。パターンぐらいの話であれば、もっと始めやすいんじゃないかなぁ、という期待もありますね。

--- 日本発のパターン本が出ていくといいですよね。

そうですね。これを英語に翻訳して、向こうにも送る、と。


--- 最後に、広場で宣伝したいことがありましたら、どうぞ。

JapanPLoP のほうも、お気軽にご参加ください。

--- 本日はどうもありがとうございました。


第1回目ということもあって、逆に担当者の方が緊張していた感もありましたが、友野さんのお話しぶりに非常に打ち解けた雰囲気の中でインタビューを行うことができました。今回の企画に快くご協力していただいた友野さんには、本当に感謝いたします。ありがとうございました。


© 1999 OGIS-RI Co., Ltd.
Index Next
Index Next