この“記者の眼”を書くのは,私にとって結構なプレッシャーである。何といっても,読者の皆さんから強烈なコメントを頂戴するのがちょっとコワい。そんなわけで前回(2002年5月),「新入社員には“コンピュータの動く仕組み”を知る楽しさを伝えよう」を書いたときも,実はいささか緊張ぎみであった。

 ところが,いざフタを開けてみると読者の方々からは思いがけず良い反応をいただいた。「基本的に共感」,と言っていただいた方も多かったし,「異論あり」とされた方にも,具体的にどこに賛同できないかという指摘や,新人教育についてのご自身なりの提案を書いていただいた。

 文章を書く仕事をしている人間として,記事に対してどう思っているかを少しでも伝えていただけると,読者の存在を実感でき,とてもうれしく,勇気づけられる。貴重な時間を割いて読んでいただいたこと,コメントを寄せていただいたことに,深く感謝している。

 今回は,皆さんのコメントを読んで私がどのように感じたか,皆さんからの反響がその後,私にどんな影響を与えたか,をお伝えしたいと思う。これが,いただいたコメントへの返信になることを願いつつ・・・。

コメントを読んで勇気が出た

 コメントの中に「筆者の意見に強く共感。是非筆者の言う基礎を解説する特集を作ってください」というものがあった。実は前回,記者の眼を書いたころ,筆者は日経ソフトウエアで「マシン語」の特集を企画していた。正直言って自信がなかったが,こうしたコメントを読んで,がぜんやる気がでてきた。

 特集の狙いは,前回の記者の眼のテーマでもあった「コンピュータの基礎」の大切さと,それを学ぶことの面白さを伝えること,である(この特集は,「かんたん! マシン語入門」というタイトルで,現在書店で販売中の日経ソフトウエア9月号に掲載した)。

 もともと筆者は,コンパイラの向こう側にあるマシン語を覗いてみることは,普段利用しているプログラミング言語をもっとうまく使えるようになるためにも,トラブルを解決する力を身に付けるためにも大切なことだ,と考えている。

 だが,マシン語などというテーマは,普段はなかなか企画を進めにくい。記者自身,「いまさらマシン語なんて,必要に迫られているわけでもないし,読んでくれないだろう」と考えてしまいがちだ。その縛りから抜け出せたのは,IT Proの読者の方々に勇気づけられたことが大きい。

 もちろん,前回の記者の眼でいただいたのは,共感の声だけではない。いろいろな指摘や批判もいただいた。「最初に基礎だけを学ぶのは苦痛」「万人を同じレベルまで教育するのはいかがなものか」「当面の仕事をこなせればよいと考えている人が大半で,そうした人に原理・原則の面白さや大切さを伝えるのは無駄」――。特集の企画と執筆は,こうした指摘も頭に置きながら進めていった。

面白いことは面白そうに伝えたい

 これは記事に限ったことではないが,楽しく面白いことは,そのまま楽しそうに,面白そうに伝えればよいと思う。だが,意外と世の中そうなっていない。例えば学校の講義である。退屈な講義がいくつもある。皆さんも,多くのトピックスを抑揚なく,つまらなそうに話す講師にたくさん接してきたと思う。もしかしたら,そのトピックスの一つひとつは,とても面白いことであるはずなのに。

 前回いただいたコメントで一番印象に残ったのは,「基礎だけを学ぶのは苦痛」というものだった。確かにそうかもしれないな,と思う。ただ,基礎を学ぶことの苦痛とは,基礎そのものに原因があるわけではないという気がする。むしろ,その学び方や伝え方に問題がありそうだ。先の退屈な講義のように,どう役に立つのかもわからないまま,あれもこれもと詰め込まれるのでは,受け取る側は面白そうだと思わないだろう。

 記事も同じである。そこで,マシン語特集では,以下の三つを心がけた。(1)記事の最初にメリット,読んで学ぶと,どううれしいのかをちゃんと書く,(2)座って読むだけでなく,なるべく手を動かしてもらって,「コンピュータが自分の意図した通りに動く喜び」を感じてもらいながら,書いてある事実を実感してもらう,(3)あれこれ書こうとせずに絞る――である。記事を書くときは普通どれも配慮することなのだが,今回はIT Proの読者にいただいた指摘を頭に置いて,いつもよりまじめにやった。

 さて,心がけたことの具体的な内容である。(1)は,マシン語の知識はすぐ役に立つものではないけれど,困ったときにはきっと役に立つ,ということを特集の冒頭で強調した。

 (2)は,記者の眼のコメントでいただいていた「身近な,ちょっと背伸びすれば手の届くレベルの課題から入るのが良いかと。」を実践してみた。身近なWindowsマシンで,多摩ソフトウェアのマクロ・アセンブラ「LASM」の体験版やボーランドの「Boland C++ Compiler 5.5」(フリーのC/C++コンパイラで,アセンブリ言語のコードを出力する機能を備える)を利用して,簡単なプログラムを試せるようにした。

知っていてほしいことだけを書く

 (3)の「あれこれ書こうとせずに絞る」はもっとも悩んだ。プロセサの構造,パイプライン,分岐予測,フラグ,スタック,割り込み,,メモリー・モデル,コンパイラ――などなど書きたいこと,伝えたいことは山のようにある。

 だが思い切って,詳細な説明はほとんど省いた。想定した読者はマシン語の世界を知らない初級・中級プログラマなので,こうした方々に“面白い”と感じてもらえること,私が考える「プログラマなら知っていると楽ができるだろう」という情報に絞ってマシン語の仕組みや知識を書いた。いきなり書籍を読むのは抵抗がある人でも,この特集で興味を持ってくれた人は,これをきっかけにして自分で書籍や資料を集めて学んでくれるだろう。

 7月24日に発売されたばかりの最新号で自分の記事を読み返してみた。我ながら,初級・中級プログラマの方に“面白い”と感じてもらえる記事になったと思う。初級・中級のプログラマに向けたマシン語入門なので,「記者の眼」の読者にはあまり役立たないかもしれないが,もし書店に行く機会があれば,ついでに手にとってパラリとめくってみていただけるとありがたい。

 なんだか最後は雑誌の宣伝めいたことを書いてしまったが,筆者としては一人でも多くの人に読んでいただけるのはうれしいことだし,初級・中級プログラマの方にはかなりの確率でお役に立てると本気で思っているので,まあ,そこはちょっと大目に見てやっていただきたい。

 でも,この記者の眼で本当に言いたかったのは,特集の内容そのものではない。これからも読者のご意見を参考に,コンピュータの基礎を知る面白さや大切さを広くお伝えしていきたい,という筆者の気持ちである。

(矢崎 茂明=日経ソフトウエア)