書を持って、現場に出よう
月刊「Windows Server World」の連載コラム「IT嫌いはまだ早い」の編集前原稿です。もし、このコラムを読んで面白いと思ったら、ぜひバックナンバー(2007年5月号)をお求めください。もっと面白いはずです。なお、本文中の情報は原則として連載当時のものですのでご了承ください。
■□■
よく「若者の活字離れ」と言われるが、これは正確な表現ではない。実際に文章を読む量は昔よりも格段に増えているはずだ。考えてみて欲しい。あなたは1日にどれくらいのWebサイトを訪れ、どれくらいの量の文章を読んでいるだろう。量から言えば、昔よりは格段に増えているはずだ。
ただし「本」を読む量は確かに減っている。2005年に行われた読売新聞の調査では、1カ月に1冊も本を読まなかった人は52%だったという。この値は1995年あたりから変わっていないが、1985年と比較すると11%も増えているそうだ。
1995年といえば、インターネットが一般化し始めた年である。Googleはまだなかったが、1996年4月にはYahoo! Japanがサービスを開始している。「インターネットの普及に伴い本を読まなくなった」という単純な図式ではないだろうが、象徴的ではある。
現在では多くのエンジニアが「調べる」という言葉を「インターネット(実際にはGoogle)で検索する」という意味で使っている。
しかし、インターネット上にあるコンテンツの多くは断片的な技術情報である。特定のトラブルがあったとき、どう対処すれば良いかは分かる。一応の理由も書いてある。しかし、なぜそうしたトラブルが発生するのか、なぜそのような仕様になっている、運用で回避することはできないのか、ということには言及されていないことが多い。しかも、すべてが正確な情報とも限らない。
体系的な知識を修得していれば、新しい技術の修得も早い。「体系的な知識は応用が利く」これが読書の第1の効能だ。長くIT業界にいたいなら、基礎を学ぶべきである。
「現在使われているコンピュータ技術はすべて1960年代に発明されている」という説がある。さすがにウィンドウシステムはなかったが、ライトペンを使った対話的システムは1960年以前に存在したし、マウスのアイデアは1961年に登場したとされている。古典的な本であっても、現在に通じるものがあるはずだ。
読書のもう1つの効能は「経験を補える」ことである。「経験がないから分からない」という言い訳をよく聞く。「経験がないから仕方ない」と励ますこともある。しかし、自分にとって初めてでも、他の人が経験していることがある。さまざまな成功・失敗を短時間で追体験できるのは読書のメリットだ。
もちろん現場経験から学べることも多い。身をもって体験した感覚は他に代え難いだろう。しかし、現場での経験は非常に時間がかかる。それだけ深く身につくことは否定しないが、仕事人生は長くない。1年かけて学んだことの10%を3時間の読書で修得できるなら、試してみても悪くない。
昔は「読んでいないと恥ずかしい本」というものがあった。読んでいなければ先輩社員からバカにされたものである。最近では、指導すべき先輩社員の読書量も少ないため、読んでいなくても恥ずかしい思いをすることがない。
こうした状況に危機感を感じたのか、「コンピュータの名著・古典100冊」という書籍がインプレスから出版されている。「読んでいないと恥ずかしい」とまではいかないが、名著とされる古典的名作を紹介したタイトル通りの本である。ちなみに筆者が読んだ本は27冊だった。ちょっと少ない。
今月は「コンピュータの名著・古典100冊」の横山哲也版である。紹介した書籍はすべて自腹で購入したものである。また、絶版や版元品切れなどで入手できないものは排除した。
ただし、版元に確認したわけではないので、流通在庫のみの書籍は含まれている可能性についてはご容赦いただきたい。もし購入するつもりがあれば、早めに注文していただいた方が確実である。
将来的には、インターネット上でも体系的な情報を得ることができるようになり、先人の経験を追体験できるようになるかもしれない。しかし、現在は違う。新入社員の方はもちろん、そうでない人もこの機会に何冊かはぜひ読んでいただきたい。筆者も、何冊かを読み返して得るものがあった。
すべて良書を読むことは、著者である過去の世紀の一流の人々と親しく語り合うようなもので、しかもその会話は、かれらの思想の最上のものだけを見せてくれる、入念な準備のなされたものだ。
デカルト『方法序説』
■□■コンピュータの歴史を知る■□■
●日本のパソコン市場を創った人たちの葛藤と功績を知る
書名: パソコン創世記
著者: 富田倫生
出版: 青空文庫
価格: オンライン版:無償、CD-ROM: 3045円
コンピュータの歴史を詳細に書いた本は意外に少ない。特にPCに関しては信頼できる書籍がほとんどない。本書は、日本のPC事情について克明に記述された数少ない書籍である。
また、サブカルチャーとしてのPCについても考察されている。そのため、単なる歴史書ではなく、Web 2.0時代について考える材料として読むことも可能である。
PC(個人で使えるコンピュータ)という概念に、最初に興味を示したのはホビイストだった。日本でも米国でも、ホビイストの意見を取り入れる形でPC市場が形成されていった。PCという新しい製品がどのような位置付けとして生まれ、どのように変化していったのかは非常に興味深い。特に、PC-8801からPC-9801の開発話は圧巻である。
そして現在、学術研究から生まれたインターネットが商用化され、WWWの普及によりホビイストが情報発信を始めた。現在、人気ブログのライターのほとんどはITの専門家ではない。筆者には、これがPCの発明と発展、普及にいたる過程と重なるように思える。
さて、本書は元々、旺文社文庫から出版されたが版元の都合で絶版。大幅な加筆修正が施されたものがTBSブリタニカから出版されたが、こちらも絶版。しかし、幸いなことに著者の努力と好意により「青空文庫」として無償で読めるようになった(CD-ROM版は有料)。
ただし、無償で入手できることは決して喜ぶべきことではない。無償のソフトウェアはサポートで収入を得るという方法もあるが、無償の書籍から収入を得る方法はない。これでは本を書く人がいなくなる。良いと思った本はぜひ新品を購入して欲しい。
●Web 2.0時代は、コンピュータマニアの文化が再評価されるだろう
書名: ハッカーズ
著者: スティーブン・レビー
出版: 工学社
価格: 2625円
注意: 流通在庫のみの可能性あり
「ハッカー」と言っても犯罪者の意味ではない。本来の意味、つまり「技術レベルの高いコンピュータマニア」のことである。RFC 1983(日本語訳あり)では「特にシステムやコンピュータやコンピュータネットワークの内部構造に関して詳しい知識を持つことに喜びを感じる人のこと」と定義されている。もっとも、ハッカーの中には一般常識からちょっとずれている人もいるので、単なるいたずらのつもりが犯罪と解釈された人もいるかもしれない。
原著の出版は1984年なので、MacintoshもWindowsも登場しない。だいたい1980年くらいまでに活躍した各種の「ハッカー」についてのエピソード集である。
現在活躍中の人としては、GnuプロジェクトのR. M. ストールマン、Appleの創設者スティーブ・ジョブズとスティーブ・ウォズニアク、マイクロソフトの創設者ビル・ゲイツなどがいる。
ただし、ジョブズはハッカーとしてではなく、企画立案者として評価されている。ビル・ゲイツはハッカーとして評価される一方で、ソフトウェアの無断コピーに抗議したビジネスマンとして描かれている。いずれもその後の人生を彷彿させる。
「欲しいものは自分で作る」「知りたいことはとことん追求する」というハッカー文化は、PC文化の一部でもあった。Windows 95以来、ハッカー文化は薄まった。しかし、オープンソース運動の高まりとWeb 2.0時代の到来により、ハッカー文化が再び注目されているように思う。ハッカー文化はビジネスと相容れない部分もあるが、それも含めて理解しておくことは、IT業界に籍を置くものとして必要なことだ。
■□■インターネットの光と陰■□■
●インターネット、特にWeb 2.0について、バラ色の未来を語る
書名: ウェブ進化論 本当の大変化はこれから始まる
著者: 梅田望夫
出版: 筑摩書房
価格: 777円
「Web 2.0」についての理解を深めるための必読書。Web 2.0の背景として、本書では「チープ革命」が強調される。チープ革命とは、あらゆる物やサービスの価格が著しく低下することで起きる社会の変化のことである。たとえば、Googleの登場により、ほとんどの情報は無料になった。記憶装置のバイトあたり単価は今でも年々低下している。
革命は、断続的な価値観の変化である。そして、ほとんどの場合は既存の権威が破壊される。フランス革命では、権力が貴族階級から市民階級へ移行し、多くの貴族が殺された。共産主義革命は、資本家から労働者階級へ移行させることが目標であり(現実には資本家から官僚へ移行しただけだったが)、資本家の財産は没収された。
では、チープ革命の本質は何だろうか。それは大企業中心の社会構造だろう。チープ革命やWeb 2.0に追従できない企業は社会から取り残される。何らかの対応が必要になるはずだ。
ところで、筆者がもっとも衝撃を受けたのはGoogleの章だった。「Google? ああ、広告で儲けている会社ね」という見方をしていた不明を深く反省している。"The Network Is The Computer" は、Sun Microsystems社のキャッチフレーズだが、その本当の意味を実現するのはGoogleであって、Sunではないようだ。そして、Googleこそが真のネットワーク企業と言える。一般に「IT企業」は、ハードウェア製品かソフトウェア製品、あるいはサービスを売る。Googleだけが、モノではない「ネットワーク」自体を売っているのだ。
●1984年、ビッグブラザーは望まれてやってくる
書名: インターネットは「僕ら」を幸せにしたか? ―情報化がもたらした「リスクヘッジ社会」の行方
著者: 森健
出版: アスペクト
価格: 1680円
本書については取り上げるべきかどうか迷った。以前に紹介しているし、著者との対談まで企画したからだ。しかし「インターネットの光と陰」と題して紹介する以上、取り上げないわけにはいかないだろう。
「ウェブ進化論」が、インターネットの光の面を描いた本だとすれば、本書は陰の部分について言及した本である。光と陰は表裏一体だ。たとえば、セキュリティ監視ツールはプライバシーの侵害ツールとして使える。親は、子どもの居場所を常に把握したいだろうが、子どもは(親の目を盗んで)学校の帰りにゲームセンターへ寄りたい。同僚は、奥さんに「今いる場所を携帯電話のカメラで撮ってメールしろ」と言われたらしい。これは笑い話だろうか。
●コピー禁止機能は本当に著作者のためになるのか?
書名: だれが「音楽」を殺すのか?
著者: 津田大介
出版: 翔泳社
価格: 1659円
デジタル音楽配信が、音楽業界に与える影響について考察した本。インターネットを通したCDの違法コピーが、本当に売り上げ低下の原因なのか。コピー禁止機能が、本当にミュージシャンのためになっているか。こうした問題は、IT業界でも考える価値がある。10万円のソフトウェアが無償で入手できるなら、買う人はいないだろう。しかし1000円だったらどうだろう。無料版があったとしても、お金を払う人は多いのではないか。
音楽業界とIT業界は、製品が著作権で保護されているという面で似ている。コンピュータソフトウェアは、音楽ほど趣味性が高くない。しかし、音楽業界でも「コレクタ」と呼ばれるようなマニアはごく一部である。ソフトウェアの違法コピーを考えるときに、音楽業界の取り組み(そして過り)は参考になるだろう。
■□■問題解決の方法論■□■
●問題を解決する前に、問題を発見せよ
書名: ライト、ついてますか―問題発見の人間学
著者: ドナルド・C・ゴース、G.M.ワインバーグ
出版: 共立出版
定価: 2100円
「未熟な問題解決者は、きっと解くべき問題を定義する時間を惜しんで解答に飛びつくものである」。もっとも心に残った言葉だ。ITプロフェッショナルと呼ばれる人は、毎日がトラブルシューティングである。早く問題を解決したいと、問題を特定せずに対策に走る。その結果、最悪の場合は問題をもっと大きくしてしまう。
表題になった「ライト、ついてますか」は、運転手に注意を促す標識の話である。トンネルを抜けたところに公園があった。多くの人はその公園でひと休みするが、ライトの消し忘れでバッテリを上げてしまう人が多い。注意を促すために「ライトを消せ」という看板を出そうとしたが、それでは夜間に消してしまう人が出ないか。「昼はライトを消せ」とすれば、霧のときにも消してしまわないか。などと考えているうちに、看板の文は、やたら条件の多い読みにくいものになってしまった。そこで再検討された文が「ライト、ついてますか」だ。
どのエピソードも平易で理解しやすい。「遅いエレベータ」のエピソードは、実際に仕事で使わせてもらった。筆者の会社のあったビルは、エレベータのボタンを押してもなかなか来ないため、いらいらするお客様が多かった。この時の問題は何か。エレベータが来ないことではない。エレベータを待つ間の時間を持て余すことが問題なのだ。そこで、エレベータホールに会社の広告を貼り出した。本当は日替わりで壁新聞を出したかったのだが、我々の負担が大きすぎるのでやめた。エレベータを待つ間、広告を見てもらうことで、いらいらは解消され、宣伝効果も高まった(かもしれない)。
●「みんなの意見」が正しい判断となるには何が必要か
書名: 「みんなの意見」は案外正しい
著者: ジェームズ・スロウィッキー
出版: 角川書店
定価: 1680円
Web 2.0の理論的根拠を示した本。不特定の一般人の意見の総和は、特定の専門家の意見よりも聡明であるという。いわゆる「集合知」だ。ただし、集合知が適切に働くには、多様な人が、お互いに相談しないで独立に意志決定を行う必要があるなどの条件が必要だ。
議論を重ねて緊密なコミュニケーションを取ることで、正しい結果が得られなくなるというのは皮肉な話だ。そういえば、巨大掲示板「2ちゃんねる」で、しばしば極端な(場合によっては誤った)意見が形成される。掲示板での議論を通して意見が収束されていくためなのだろう。
しかし、逆に言えば、適切な条件を整えれば集合知が機能するわけだ。Webをベースとした投票集計システムを使えば、条件を満たすことは難しくない。問題解決の新しい手法として検討するに値する。実際、既に業務に生かしている会社もあるという。
ところで、著者は集合知が適切に機能するのは難しいことを自覚している。これは少し意外であった。もっと楽観的な見方をしているものだと思っていた。
2ちゃんねるの例に限らず、大衆はしばしば極端な過ちを犯す。ヒトラーは選挙で選ばれ、ユダヤ人排斥は多くのドイツ人に支持された。本書には「集合知を生かす条件」だけではなく「集合知が生かせない状況」も書かれている。両者は同じくらい重要なはずだが、多くの書評では前者しかクローズアップされていないのは残念だ。
なお、紹介される事例には、科学的に厳密な調査ではないものもある。すべてを鵜呑みにするのは危険だろう。また、集合知に関しては森健著「グーグル・アマゾン化する社会」(光文社)もおすすめである。
■□■廃れないIT技術を身につける■□■
●すべてのプログラマのために
書名: プログラム書法(第2版)
著者: B. W. カーニハン、P. J. プルーガー
出版: 共立出版
定価: 3150円
構造化プログラミングの古典的名著。原著第2版は1978年の出版だから、ざっと30年も前の話である。例題に使われているのは、FortranとPL/I(ピー・エル・ワン)。若い読者には読みにくいかもしれないが、Basicの基礎文法程度を知っていれば、ほとんどの内容は理解できる。
筆者が初めて本書を読んだとき、Basic(Visual Basicではない、初期のMicrosoft Basic)は知っていたものの、Fortranは学校で数時間の授業を受けただけだった。PL/Iに至っては何の知識もなかったが内容は理解できた。
構造化プログラミングは「オブジェクト指向」に進化した。最近では、C#やJavaのような、オブジェクト指向プログラミング言語を最初から学ぶ人が多い。しかし、構造化プログラミングの知識が不要になったわけではない。
オブジェクト指向プログラミングは、プログラムとデータを一体化した部品(オブジェクト)を扱う。しかし、部品内に組み込まれたプログラムを分かりやすく書くには構造化プログラミングの知識が不可欠である。現在においても学ぶ価値は高い。
本書を読んで、特に感銘を受けたのは「技巧を凝らしたプログラムは、分かりやすくもないし、効率もよくない(ことが多い)」ということだ。技巧を凝らして文字数を少なくしたプログラムは、一見効率が良さそうに見えるが、コンパイラによる最適化が困難となり、かえって効率を落とす。
人間にとって分かりやすいプログラムは、コンパイラにとっても分かりやすいため、高度な最適化ができる。これは現在でも通じる真実だ。プログラマやSEを目指す方にぜひ読んで欲しい1冊である。
●すべてのシステム設計者のために
書名: コンピュータ・アーキテクチャ―設計・実現・評価の定量的アプローチ
著者: D. A. パターソン、J. L. ヘネシー
出版: 日経BP
定価: 12233円
CPUアーキテクチャ設計の教科書。決して難解ではないが高度な内容を扱っているため、すらすら読むというわけにはいかない。おまけに大判(A4変形)で厚い。付録を除いても600ページを超える。定量分析を重視しているため計算問題も多い。章ごとの演習問題は、大学の期末レポート並みの難しさだ。実際、本書は大学の教科書として使われているという。苦労して読み終えても、実際にCPUを設計する人はほとんどいないだろう。しかもかなり高価な本である。筆者はクレジットカード払いで買った記憶がある。
それでも推薦する理由は2つある。第1に、IT業界に携わるプロフェッショナルはCPUの動作くらいは正しく理解しておくべきだということ。第2に、本書がCPUに限らず、あらゆるシステム設計の参考になるということだ。
たとえば、可変長命令を持ったコンピュータは、プログラムサイズを小さくできるためメモリの利用効率がよい。しかし、そのために実行速度が犠牲になる場合がある。メモリ価格は年々低下するし、ある程度はあとから追加できる。しかし、実行速度の向上はそれほど大きくないし、CPUをあとから変更するのは簡単ではない。現時点でメモリが高価だからと言って、メモリの利用効率を最重要課題にすべきではない。
現在の状況に対する最適化が、将来の足かせになることは多い。しかし、著者の1人ヘネシー博士が設計したRISCプロセッサは1985年に登場し、その派生品はニンテンドウ64やプレイステーション2になど採用され、未だに生き残っている。IT業界は変化が激しい。変化のトレンドをつかんで、将来に禍根を残さないような設計をしたいものだ。
■□■コミュニケーション■□■
●コミュニケーションスキルは学習できる
書名: 速効!SEのためのコミュニケーション実践塾
著者: 田中淳子
出版: 日経BP
価格: 1890円
本書に限らず、著者の一貫した姿勢は「コミュニケーションスキルは学習できる」ということだ。コミュニケーションスキルはすべてのビジネスパーソンに必要であるが、IT系のエンジニア、とりわけSEと呼ばれる職種にとっては特に重要だ。
IT利用者の多くはITの専門家ではない。専門分野が違えば、用語の使い方も違い、コミュニケーションミスが起きやすい。たとえば「デフォルト」。IT業界では「省略されたときに仮定される値」の意味だが、金融業界では「債務不履行」の意味になる。「既定値」という訳語もあるが「規定値」と紛らわしい。
コミュニケーションの上手下手は個人の性格や資質のせいにされやすい。しかし現実には違う。得手不得手や好き嫌いはあるだろうが、一定のレベルであれば誰でも到達できる。練習しないで自転車に乗れる人はいない。コミュニケーションスキルも同じだ。
自転車に乗る技術を修得するための効率的な方法があるように(*1)、コミュニケーションスキルの修得にも効率的な方法がある。たとえば「あいづちを打つ」「質問を復唱する」。こうしたことは個人の性格とは無関係に実践できるが、円滑なコミュニケーションに大きな効果がある。
ただし、スポーツと同じで、学習した内容は繰り返し実践しなければ身につかない。本書に挙げられたスキルは、特別な指導を受けなくても真似できるものばかりだ。納得したものが1つでもあれば繰り返し実践していきたい。
(*1)ペダルをこがずに、足で地面を蹴って進むことを繰り返す。補助輪を使った走行は、通常の自転車走行と違う原理なので、練習しても意味がない。
●作文技術は学習できる
書名: 日本語の作文技術
著者: 本多勝一
出版: 朝日新聞社
定価: 567円
文章読本の類はいろいろあるが、本書ほど実践的な本は知らない。特にテン(読点)の打ち方や修飾語の配置順序の法則は極めて明快である。
テンは文章の「意味」を考えて打ちなさい。そう教わった人は多いだろう。筆者もそうだ。しかし、ほとんどのテンは「構文」の問題であり、意味の問題ではないという。そのため、いくつかのルールを覚えるだけで適切な場所に機械的にテンを配置できる。
また、読みやすい修飾語の順序にもルールがあるという。たとえば、以下の文のうち、どれが一番読みやすいだろう。
- 堅牢な、半透明のタイトルバーを持つ、メイリオという見やすいフォントを標準装備したWindows Vista
- メイリオという見やすいフォントを標準装備した、半透明のタイトルバーを持つ、堅牢なWindows Vista
- 半透明のタイトルバーを持つ、メイリオという見やすいフォントを標準装備した、堅牢なWindows Vista
おそらく2ではないだろうか。コツは単に長い修飾詞から順に並べるだけである。多くの場合、長いものから短いものに並べるだけで分かりやすい文になる。もちろん例外もある。しかし、多くの場合にあてはまる規則があるなら、その規則を最初に試みる方が得だ。問題があればあとで直せばよい。
なお、例文は著者自身の文章や、著者が読んだ記事や書籍からの引用が多い。そのため、本多氏の思想や信条が随所に現れる。本多氏の政治的信条に共感しない人もいるだろうが、毛嫌いせずにぜひ読んで欲しい。
続編の「実戦・日本語の作文技術」もおすすめである。
■□■Web版のためのあとがき■□■
紹介した書籍は既に入手不可能になっているものがあるかもしれない。あらかじめお断りしておく。
連載時、本稿は故石田晴久先生との対談とともに掲載された。石田先生の最も重要な功績は、UNIXとその文化を日本に紹介したことと、PCの重要性を世間に広めた点であろう。ご本人は「単に紹介しただけ」とおっしゃるが、製品だけでなく文化も含めて紹介するのは決して簡単なことではない。
石田先生は、村井淳氏のように日本のインターネットを作ったわけでもないし、西和彦氏や孫正義氏のようにPCビジネスを創出したわけでもない。しかし、石田氏の著書でPCに夢見た若者は多い。
筆者も、別冊日経サイエンスのシリーズを読んで、PCに心躍らせた1人である。別冊日経サイエンスは、月刊「日経サイエンス」のムックで、1980年代にはPC関連の話題が多く取り上げられた。当時の一般的なPCの主記憶は64KB(64MBではない)、CPUクロックは4MHz程度だった。ハードディスクはまだ一般ではなく、補助記憶装置はフロッピーディスクかオーディオカセットテープだった(フロッピーディスドライブは当初30万円以上した)。
プログラム開発は、アセンブラかBASICインタプリタが中心で、コンパイラを使うことは少なかった。当時のPCは、はっきり言ってほとんど何の役にも立たなかったのだが、夢は大きかった。
「個人の能力を最大限に拡張する、対話型のコンピュータ」これがPCの到達目標である。石田先生は、GUIこそまだ存在しなかったものの、UNIX文化に接することで「対話型コンピュータ」の可能性を信じていらっしゃったようだ。
1980年代のPCは、ほとんど「おもちゃ」であったが、「おもちゃ」をバカにしてはいけない、というのは対談でも触れたとおりである。TCP/IPは実験プロトコルで、実用的とはみなされなかったが、いまやTCP/IP以外のプロトコルはほぼ全滅である。PCは個人の遊び道具だったが、ビジネスに不可欠となった。
最近筆者が注目しているのはP2Pである。P2Pは、個人のPC同士を直接ネットワークで結びつける技術だ。不幸なことに「音楽やビデオを不正に複製する技術」として有名だが、Winnyの一審判決にもあったとおり技術に善悪はない。正しく使えば実に多くの可能性が考えられる。Windows Server 2008 R2に搭載されたBranchCacheはP2Pの応用である。
IT業界でエンジニアとして生き残るには、新しい技術に偏見を持たないこと、また、とりあえず興味を持ってみることが必要だと思う。権威者の言うことは参考程度に聞いておけばよい。「TCP/IPはビジネスに使えない」と言ったのは、巨大企業の権威あるエンジニアだったことを忘れてはいけない。