筆者は、夏に入院する羽目になり、それを転機にしていろいろと考えることがあった。その1つに、「必要になる可能性はほとんどないのに、きわめて小さな可能性が気になって捨てられない」という心配性との決別があった。仕事場には膨大なパソコン雑誌が山と積まれていた。これまでも、相当量を捨ててきたのだが、自分で書いた記事が載ったものは保存しておこうと思っていた。10年以上の間、毎月必ず何らかの記事をずっと書いてきた結果は、1カ月ごとで見れば大したことはないが、積み重なると膨大な量となる。最近になって、雑誌という形で残らないオンラインの記事も増えて、自分の書いた原稿が載った雑誌が1つもない月も増えたが、過去の雑誌が消えるわけではない。それらの雑誌を手元に置いておくだけのスペースもばかにならず、負担も大きい。手元に持っているささやかな心理的な安心感と、負担を天秤に掛けた所、負担の方が大きいという結論に達して、現在、順次処分しつつある。古いパソコン雑誌には、歴史研究の目的を除けば、資料的な価値はないといい切れることも、処分できる理由のうちである。10年前のWindows専門雑誌を見ると、画面表示を高速化するための2Dグラフィック・アクセラレータなどのテーマは豊富にあるが、いまや2D表示が遅くてもたつくようなビデオカードはパソコン用としては存在しないに等しい。現在のパソコンを使う上で役に立つような情報は少ない。基礎的な情報には、現在でも通用する内容もある。現在でも通用する情報は、現在でも供給されており、無理をして古いパソコン雑誌を保存しておく価値はない、と筆者は判断したわけである。C++1.0さて、パソコン雑誌に負けないほど大きくて重いのが、パソコンソフトのパッケージである。最近は、大きくて重いパッケージは減ったが、10年ぐらい前は、愕然とするぐらい重いものがあった。仕事場を整理していると、雑誌に引き続いてそれらが奥の方から続々と出てきたのである。C++1.0は、殺人的に大きくて重い。手に持って持ち上げることはできるが、これを持って歩けと言われると、ちょっとためらってしまう。重さの理由の大半は膨大な紙のマニュアルにある。MS-C7.0の1つ手前の6.0は、ただのCコンパイラに過ぎず、Cコンパイラとして使うためのマニュアルしか入っていなかった。7.0になると、以下の機能が増えている。SDKの追加MFCの追加これらの機能はそれぞれ、決して薄くはないマニュアルを必要とする。捨ててしまったので正確には分からないが、1冊でもずっしり来るようなマニュアルが10冊ぐらいパッケージに入っているのである。それが1個の箱に詰まっていると、パソコンショップで買って持って帰るのをためらうような重量級パッケージに進化(?)するのは必然、というわけである。筆者の所には、MS-C7.0だけをとっても、英語版や、いまとなっては懐かしいPC-9801版など、4つぐらいのパッケージがあったと思う。一部は捨てていたが、今回、全部捨てることにした。1.0も、これに負けないほど重かったが、これも捨てることにした。1.5があれば十分であるというのが筆者の立場での結論である。1.5に日本語版パッケージはないのだが、筆者は英語版を購入して、ずっと愛用していた。このパッケージは薄くて軽く、持ち運ぶのに何の苦労もなかった。軽くなるパッケージあるタイミングを境にして、重量級の開発ソフトパッケージは消えていった。実際には機能は減るどころか増える一方であった。パッケージが軽くなった理由は、CD-ROMにあると考えると分かりやすいだろう。CD-ROMという当時としては画期的な大容量メディアが使えるようになったことにより、マニュアルをCD-ROMに収録することもできるし、数十枚のフロッピーディスク相当のファイルも1枚のCD-ROMに楽々収められるようになった。これだけで、けた違いに小さく軽いパッケージが実現できるというわけである。この話には1つの重要な教訓がある。この頃には、パソコンの画面でマニュアルを読むことは一般的ではなかった。紙のマニュアルの方が圧倒的に読みやすく、簡単に持ち出して電車の中などでも読めるので、優れているといった意見の方が多かった。マニュアルを電子化することは理屈の上では可能だが、大して便利ではないし受け入れられないと考えられていたのである。実際、マニュアルのCD-ROM化への反対の意見もあったという。いつの間にか、われわれは、画面でマニュアルを見ることに慣れて当たり前のことにしてしまった。Libary(マイクロソフトの開発者向け情報サービス)には、紙の時代には入っていなかったような技術解説記事やサポート技術情報なども含まれており、閲覧可能な情報が紙の時代よりも増えているとすらいえる。マニュアルの電子化は、この世界においては、成功し、定着したといえるだろう。いわゆる電子出版と呼ばれるもの全般を見渡すと、必ずしも定着していない。相変わらず本屋では紙に印刷された膨大な本が売られている。この違いはどこにあるのだろうか?筆者が最も大きな影響力を持っていると感じるのは、背景にあるニーズの大きさである。マニュアルが電子化される以前にも、SDKのAPIリファレンスが電子的なファイルとして提供され、便利に検索できるので利用するケースはあった。マニュアル全体を電子化して欲しいという強い要望を耳にしたことはない。ところが、重量級のパッケージを実際に手にする機会が増えると、「何とかならないのか」という意見をしばしば耳にするようになった。その意見にこたえる形でマニュアルが電子化されたとき、予想外にすんなりとユーザーはそれを受け入れたようである。Libraryが標準的に提供されるようになると、その膨大な情報から必要な項目を探すために検索機能は必須となり、紙のマニュアルでは対応しきれない世界に入り込んでしまった。この段階で、完全にマニュアルの電子化は定着したといえるだろう。この一連の流れは、マニュアルを電子化できる技術があるから定着したのではなく、重量の問題や検索の問題など、多くのユーザーのニーズがあるからこそ、ユーザーが受け入れたのだといえる。出版という分野を見ると、本屋には紙に印刷された本が並んでいる。確かに、大きく重い本も本屋にはあるし、重く充実感のある本の方が何やら価値があるような印象も受ける。1冊単位で考えれば、重量級の開発ツールパッケージのように、手で持って帰るのをためらうほど重い本は、そうそうあるものではない。検索性という面でも、辞書のようなタイプの書籍を除けば、目次と索引があれば大抵間に合う。いうことなら、電子化するメリットがユーザーにはあまりなく、むしろ読むための何らかの装置が必要、といったデメリットの方が目に付くことになる。この状況で、重さや検索性という理由で電子出版物が売れるとは思えない。技術だけでは普及しない、という視点は、最先端技術を扱う上では非常に重要なものだといえるだろう。凄い技術に幻惑されて、普及するのが当然と思い込んでしまうこともあるが、実際には技術が完成した段階と普及する段階の中間には、いくつものハードルが存在する。顕在的あるいは潜在的なユーザーニーズの存在というのは、そのハードルの中の1つであるといえる。このハードルをクリアすれば普及が保証されるわけではないが、クリアしなければ普及は困難といえるだろう。ここでもう一度考えてみよう。BasicやJavaで問題なく仕事ができているプログラマーがC#に乗り換えることで何かのニーズを満たせることがあるのだろうか?今回はあえて結論を書かない。結論は1つではないと思うので、読者1人1人が、自分の結論を出していただきたい。ENIXと契約して、ドラゴンクエスト2のMSXへの移植などの仕事を行う。2.1〜3.0の日本語化に従事。退職後に株式会社ピーデーの代表取締役に就任し、ソフトウェア開発業を始めるとともに、パソコン雑誌などに技術解説などを執筆。NT、Linux、FreeBSD、Java、XML、C#などの先進性をいち早く見抜き、率先して取り組んできている。代表的な著書は『パソコンにおける日本語処理/文字コードハンドブック』(技術評論社)。最近の代表作ソフトは、携帯用ゲーム機WonderSwanの一般向け開発キットであるWonderWitch用のプログラム言語『ワンべぇ』(小型BASICインタプリタ)。7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。TranslatorはPowerPoint用のアドイン。