★下記文献から私の発言を抜粋

 

【引用文献】

永田守男、佐伯元司、中所武司、深澤良彰、本位田真一 :

 座談会「ソフトウェアの研究って何だろう?」、bit, vol.25, no.6, 5-7(June 1993).

19921225日収録)

 

[以下、「中所」の発言部分のみ抜粋]

 

■まず自己紹介

 

中所:

 日立製作所の中所です。私は、1971年に入社したのですが、大学では、いま流行っているニューラルネットワークをやっていました。会社に入ってからは、ソフトウェア工学を中心にやってきました。入社当初は、構造化プログラミングとか、ソフトウェア危機というキーワードの時代でして、大規模ソフトウェアの信頼性と生産性の向上ということで、構造化言語やツールなどをやってました。1980年代後半の AI ブームの時には 、AI ツールやオブジェクト指向言語をやりました。最近は、オープン化時代のソフトウェア技術ということで、エンドユーザコンピューティングとか、オブジェクト指向概念をいろいろな分野に応用していくことに興味を持っています。

 

■理科系? 文科系?

 

中所:

 ソフトウェアの研究は「論理」対「物理」ということでいうと論理だし、「文化」対「文明」というと文化、「コンセプト」対「メトリクス」ではコンセプトが重要だというように、従来の電気などとは違うのではないかと思います。文化系も理科系もなく、むしろ論理的に物事が考えられて、コンセプトを出していける人が向いていると思います 。

 研究テーマは、私は三つに分けて考えています。まず従来からソフトウェア工学の分野であった、大規模で信頼性の高いソフトウェアを速く作って、長く利用していくという技術で、これは今でも重要です。高度情報化社会では当然の話です。二つ目は、最近ワークステーションがどんどん普及してきていますから、使い勝手の良いソフトウェアを簡単に作ってどこででも利用できるという技術が重要となっています。三つ目として、 CPUが安くなって、色々な機器に埋め込んで使えるようになりますから、機器制御用のソフトウェアをハードウェアの専門家でも作れるような技術というのが、重要ではないかと思います 。

 

■研究テーマの見つけ方

 

中所:

 問題が何かというのを見つけるのが一番重要です。ですから、問題認識をユーザーから研究開発者の側にきちんとトランスファーしておかないと、開発した技術がユーザーの方に行かない。そういう意味で、何が問題なのかというのを見つけることに面白さがありますね。

 

中所:

 いっぱい論文を読んでいてすごく物知りだけど論文は書けないという人がいるのです。いつか彼はやるんじゃないかとみんなが期待するんだけれど、やらないで終わってしまう。私も、読んでから考えるのではなく、先に考えることが大切だと思います。そして、あるアイデアを持ってから、それに関連した論文を読んでいく。そうすると、著者との議論も出来ますし、自分の新しさもわかってきますから。

 

■企業と大学の研究

 

中所:

 現場にある泥臭い問題を綺麗に解かなければいけませんから、大学でやられているモデル化の技術のように、物の見方をきちんと整理することは大事だと思います。そういうところでうまく協力していかないと、対処療法だけになり、21世紀のソフトウェアは見えてこないという感じがありますね。

 

中所:

 私も、20年もかかって、そういうことは数えるくらいしかありませんけどね。

 メトリクスがはっきりすれば、良し悪しがわかるのですけれど、自分が良いと思っても、必ずしも工場で使うとは限らないわけです。私は、そういう意味で「ファーストユーザは神様です。ユーザーの不満が出れば大成功」と言っています。ユーザーが不満を抱くところまで持って行くのが大変なんですね。そこまで工場の普及活動をする人と一緒になって頑張らないと、そう簡単にはツールは使ってくれない 。

 

中所:

 ラインの変更というのは、まずできない。現場の人はしないと思った方がいいですね 。

 

中所:

 私どもの研究所は、工場から依頼されてやる仕事が多いのですが、80年代に入りますとプログラマーが足りなくなるという話がありました。開発者の頭数は揃えても、人数が増えれば平均的な能力は低下するんですね。一方で、システムは複雑になっています。システムの複雑さと開発能力の間の落差を、教育的キャップと呼んでいるのですが、それがどんどん広がっていくのです。

 そういうところで、個人差をどうやって広げないでプログラムを作っていくかというのが重要です。

 

中所:

 大学と企業、それぞれ得意な分野があるわけで、例えば大規模な高信頼のソフトウェアを作るのは企業の方が得意でしょう。アメリカの大学などでは、ハッカー的な人がみんなの使うソフトウェアを作ったり、プログラミングの方法論上の重要なコンセプトを出したりしています。このようにハッカー的な人の存在を許すとか、コンセプトを先取りして提案していくとか、自由にやれるということは大学の得意な分野であリ、我々が大いに期待したいところなのです。

 

中所:

 基本的に1回きりじゃなくて、行ったり来たりというのが、一番良いと思うのです 。

 

中所:

 サバティカルなどという制度がありますか ?

 

中所:

 先ほど**さんが言われた、仕様記述などの技術が重要だということは、みんな分かっているのだけれど、なかなか実用まで距離はあるわけですね。しかし、やらなければならない問題でもあります。こういうのは基礎研究に入るだろうと思います。

 

■特許・論文・製品

 

中所:

 それは、一番最初に言われることです。以前はソフトウェアは特許になりにくかったのですが、今は権利化されつつありますから。

 私は日頃、企業研究者の三種の神器3Pということを言っています。それは、パテント(特許)、プロダクト(プログラム)、ペーパー(論文)です。順番も大事です。大学ではペーパーをうまく書いて新しさを主張するのでしょうが、企業の場合は、まずパテントで権利を確保し、プログラムを作って使ってもらって、それからペーパーを書いて「どうだ」と自慢するという順ですね。これからは、良いかどうかは別にしても、ソフトウェアの権利化、知的所有権の問題は重要になってくると思います。

 

中所:

 論文のための研究はできませんし、また理論と言うか基礎面では弱いですから、実績としての方が論文も書きやすいのです。一仕事してから論文を書く、というパターンになりますね。

 

            <この図は、本文のp.42に掲載>

中所:

 いいえ、ここでプロダクトと言っているのは、プログラムという意味です。本物は工場が作るのですが、コンセプトだけ工場に持って行っても手がけてくれませんから、プログラムを作って見せることをします。プロトタイププログラムを作ってから工場に移管しないと、ものにはならないのです。

 

中所:

 そうです。研究所は、やはり基本のところだけ作りますから、エラー処理の問題とか、かなり手抜きをしています。それをそのまま持って行っても、お客さんに使ってもらうプログラムにはならないのです。ですか、ほとんど作り終わっているように見えても、それを10倍ぐらいの労力かけて作り直す、ということが実際ですね。

 

■論文のまとめ方

 

中所:

 先ほど女性を口説くと言われましたが、私はちょっと古い人間なので見事なラブレターを書く技術というたとえをよく使うのです。(笑 )

 魅力的な異性に出会うというアナロジーで言うと、難しい問題に出会うというのはその研究者にとってはシメタと思うべきことなんですね。難しい問題に出会ったことによって、見事なプログラムが作れるし、見事なアイデアもでる。結局は、見事な論文が書けるということです。そういう自分を売る情熱を持ってないと、論文はなかなか書けないと思いますね。

 また、分かりやすさという点では、半分以上の労力をタイトルとアブストラクトとイントロダクション に費やし、新しさとありがたさをこれでもかっていうぐらい分かりやすく主張するということは重要だと思いますね。外国の論文は、イントロダクションに十分スペースを割きます。イントロダクションで主張をはっきり分からせないといけないですね。査読する側からいいますと 、イントロダクションまで読んで面白いそうだと思えば、一生懸命いいところにつけようと思って2章に入っていく。ところが、なんだと思っちゃうと、今度はリジェクトの理由だけを見つけようと思って斜め読みしてしまう。ですから、イントロダクションまでで、なんとか査読者の気持ちをつかむことが大切ですね、査読者の気持ちをつかむということは、読者の気持ちをつかむということですから。

 まとめ方としては、コンセプトを前半でしっかり主張して、後半で「自分で実験してみると適用可能性がありますよ」というのをちょっと付け加えるという感じが一番まとめやすいかという気がします。

 もう一つ、他人の論文を読むときに、「この人はこんな工夫をしている」というのを見る。同じテーマで身近に議論をする人というのはなかなかいないのですが、同じテーマの論文であれば、著者と議論しながら読むことができるのです。読む時に書く立場で読むというのが一番重要ではないかと思います。

 

■何を読むか ?

 

中所:

 私も**さんとほぼ同じで、最初にチュートリアルとか教科書を読んで、次に論文、単行本というのがいいと思いますね。一つ例に挙げると、最近オブジェクト指向が流行っていて本屋に行くとワッとありますが、その中から一冊を選ぶというのは初心者には難しい気がします。そういう意味では、やはり学会のチュートリアルや、英語になりますがIEEEComputerACMCACMの特集に、短くて良いものが載っています。チュートリアルの良さは、ある程度分かりやすく書いてあるということと、ある程度客観性のある書き方がされているということです。そこで大筋を捉えておいて、個々に当たっていくというやり方がいいんじゃないかと思います。

 

■最後に一言

 

中所:

 特にこの世界は、わけのわからないキーワードとか、専門用語が飛び交っていますから。(笑)

 そういうキーワードとか専門用語に、まず耳慣れしておくということは絶対に必要ですね。それがないと、つまずいてしまう。

 

中所:

 いい先輩のをですね。(笑)

 

中所:

 文章力が重要だということもありますね。色々な技術も5年経ったら使われない。一生使えるのは文章力です。企業では、上の人に自分の研究を理解させられなかったらやらなかったのと同じだということです。そういう意味で、文章力にはかなりの労力を割いた方がいい。それが一番得ですよ、と付け加えておきたいですね。

 

19921225日収録)