Programmer's Book Shelf


プログラムに関する本

CODE COMPLETE
アスキー出版局 MicrosoftPress
Steve McCornell

 ものを学ぶのには、常に理論と実践の側面がある。本で知識を手に入れても、 現場で身を持って経験してみなければ身につかない様々な事柄があるものだ。 プログラムとて例外ではない。どこからどこまでを関数にして外に出すか。 ラベルの付け方、コメントには最低なにが必要で、何は書かなくてもいいのか。 バグを減らすために、何を避けなければいけないのか。 コーディングするとき、何に注意しなければならないのか。 スピードやメモリの効率化をはかるのにどうすればいいのか。 僕らは、それらのことを現場の経験をとおして学んできた。 しかし、それらのことは試行錯誤や実践で、学ばなければいけないものでは必ずしもない。 ある問題にぶつかったときに試行錯誤を重ねて対処してゆくよりも、 知識をりようして問題解決をはかるほうがベストであるはずだ。 体で覚えたものは、忘れにくく確実に身につくものだが、 できれば失敗する前に知っていれば助かることは数多い。 あなたが、まだ経験の浅いプログラマーであるのなら、是非読むべき本であると思う。





開発に関する本

ソフトウエア開発のダイナミズム
アスキー出版局 MicrosoftPress
Jim McCarthy

原題のダイナミクスとは力学のこと、 開発の現場がどのように動き、どうそれを動かすのかについて述べた本だ。素晴らしい人材がいても素晴らしいソフトを出すことは難しい。 さらにそれを予定どうりに出荷するのはもっと難しい。 それをいかに達成するのか、MicosoftでVisualC++の開発管理をしていた著者がそこでの経験、実践された理論を披露する。




DEBUGGING THE DEVELOPMENT PROCESS
アスキー出版局 MicrosoftPress
STEVE MAGUIRE

開発工程を修正してゆくことによって、理想的な開発管理を行うこと目指している。 非常に読みやすくメッセージは分かり易い。 常に頭を使ってどうすればもっと効率的にうまくやれるのか、素直に考えればいいということが、繰り返しさまざまな場面で述べられている。 プログラマーも、またその管理者も読んで得する本である。 開発現場での誤った認識を数々指摘していて、ひざを打つ話が多い。 開発での優先事項のコンセンサスを確認することを説いている部分など、見過ごしがちな重要なことを述べたものが多いので、開発に携わるならぜひ一度読んでみて欲しい。




人月の神話
アジソン・ウェスレイ
フレデリック・P・ブルックス・Jr

20年も前に書かれたもので、古典的名著として名高い本書、 前に「ソフトウェア開発の神話」という題名で出版されていたが、 出版社の関係か長らく絶版であった。 今回原著が20周年で、20年たって振り返ってみて何が変わったのか検討した章が新たに加わって増補記念出版されたのを受けて、 めでたく日本版も新たに版元を変えて出版された。
 この本の中でも特に「狼人間を撃つ銀の弾はない」は有名で、度々引用されてきた。 今後10年間ソフトウェアの生産性を劇的に改良するプログラム技術はでないという大胆な予測だ。 新たな言語や、設計手法が革新的な生産性を歌って登場するたびにこの論文が引用されて、論争が起こされてきた。 最近ではオブジェクト指向が、開発効率の改善をするとして言われていたが、 それなりの効果が得られるとは限らないことが指摘されていて、 この命題は証明されつつあるようだ。 オブジェクト指向の運用にも、それなりの注意が必要なのは、 「オブジェクト指向開発の落とし穴」B・F・エェブスター でもその罠が多数指摘されているし、 「プログラミング書法」のP・J・プローガーも、かなり批判的にオブジェクト指向は、 数あるプログラミング手法の一つにしか過ぎないとしている。
 開発の見積もりとして使われる人月という単位は、 開発者の人数と開発にかかる月日を単純に掛けたものだ。 便宜上の単位でしかないが、二つのパラメータを掛けたところに悲劇が始まる。 数学的に二つのものを掛けるということは、それぞれの値は交換可能だということを意味する。 一人で4ヶ月かかるソフトウェアの開発を4人月とあらわしてしまえば、 二人でやれば2ヶ月で開発できることになってしまう。 もちろん、そんなことは無い。しかし、誤解は必ず起こり、悲劇は繰り返される。 プロジェクトが遅れていれば、絶えず人員の投入が行われ、 マーフィーの法則「遅れているプロジェクトに新たに人を加えることは、さらにそのプロジェクトは遅れることを意味する。」 を実践することになる。
 普遍的な題材を扱っている部分が多いのだが、ツールやデバッグ環境の話の部分は、 古すぎて参考にならない。 また、ソフト開発を土木建設、設計になぞらえた話は、現在ではこれをウォーター・フォール・モデル(滝型開発手法) と呼び、効率のよくない弊害が多い開発手法としている。 開発手法に関しては、新しい本を読んだ方がいい。 それらの部分に惑わされない目を持つなら、十分に価値のある本になるであろう。





開発言語
Perlプログラミング
ソフトバンク(O’Reilly)

 Perlは中毒性の高い言語である。 一度perlを使ったプログラマーは2度とそれなしではやっていけないほどである。 それだけ、その言語の持つ能力は高いともいえる。 プログラムの重要な法則で、どの言語を使おうとも一日のコード生産行数は変わらないということは、経験を積んだプログラマーなら体験的に知っていることだと思う。 だとしたら、perlはその言語の強力さゆえ、生産性の高い言語となるのは理解できる。 実際、テキストをあつかう、ちょっとしたプログラムを書くならperlが一番早い。 昨今インターネットのブームにより、perlはCGI用のプログラム言語として、認識されるようになったが、それはperlがスクリプト言語であるのでどのプラットホームでも使えるからだ。 でも、それだけではもったいない、この強力な言語を是非、日常のプログラミング言語として使用してもらいたいものだ。 これはUnix環境だけの話ではない、DOS環境やWindowsでも使えるし、フリーのプログラムなのでほとんどの環境で使用できる。
 perlの本もいろいろ出ているとは思うが、perl使いなら必ず持っている本が本書である。 表紙にらくだの絵が書いてあるのが目印だ。通称「らくだ本」である。 perlの作者によって書かれた本書は、そのperlのインプリメントにまで突っ込んだ詳しい解説が、その言語の仕組みから理解できるので間違いがない。 またユーモアあふれる文章はとても読みやすく、読んでいてとても楽しい。 ひとつ紹介しよう、英語版のループの解説のところでは、 「ホーミングミサイルのプルグラムにはループを抜ける処理を書く必要は無い。なぜならその目的を達成したときに自動的にループは終了するからだ。」 と書いてある。 英語版では、perl5の大幅な改良にあわせて、それに対応した第2版が発売されている。 第2版の日本語版はまだだが、じきに出るとは思う。

 Perl関連サイト



Java狂想曲
技術評論社
吉田弘一郎

 Javaという言語、その言語に対する興味からそのての本などを、そこそこ目を通してはいたのですが、ホームページを作るまで必要な場面がなく、プログラムを書くまでには長い間いたらなかった。 ホームページにJavaを貼り付けてからJavaの面白さにはまり、ちょっと古い本ではありましたが、Javaに関する読み物としてこの本を買った。 あとがきに作者が白状しているように、この本はJavaを肴にしてオブジェクト指向の話をしたものである。 だが、その話がかえって面白い。 筆者はへそ曲がりなことに、HTMLに載せるアプレットなどをいっさい取り上げていない。 すべてのサンプルはコマンドラインから java.exe で実行されるものだけだ。 硬派である。
 JavaはC++とかなり似てはいるが、Cから受け継がれた手続き型言語の部分を削ぎ落として、オブジェクト指向で作成することを強制する言語である。 C++からこの言語に入るとかえって、その罠に陥って理解を妨げる傾向があるともいわれている。 この本ではJavaのオブジェクト指向の部分に焦点を当てて、ひとつひとつの機能を試すようにして話が進む。 私も interface や thread の仕組みをこの本から学び、あやふやだった理解がすっきりした。 Javaプログラムの息抜きにと買った本だったが、結構役にたったようだ。





科学
新科学対話
アスキー出版局
竹内郁雄

 コンピューターの登場によって、科学者に新たな道具があたえられ、 面白いことが起ころうとしてる。今まで紙の上の計算で人手に頼っていたものを、コンピュータの計算能力で力ずくで多量にこなしたり、 コンピュータの中にシミュレートされた環境での研究によって本物の環境を予測したりできるようになった。 簡単な計算を繰り返していくと奇妙な振る舞いをはじめるカオスなどは、コンピュータの出現なくして研究不可能な分野の典型であろう。
 コンピュータの専門家が各分野の専門家と対談するこの本のなかで、計算機屋の著者が異分野に首を突っ込んでコンピュータで何か面白いことが起こっているんじゃないのかと尋ねたり、 コンピュータを使うとこんな面白いことができるかもしれませんよ、とそそのかしたりしている。 異分野どうしの融合が新しい成果を生めばいいのだが、 ページ数の限られた対談では、そこまで突っ込んだ議論には及ばなかったようだ。 全体的に食い足りなさが残る。 特に第一部は著作物も多数出している有名人の方々との対談なのに、 今何をしているのかという型通りの話に終始している。 彼らの書き物への道標としての役割しか果たしていないのは、もったいないだろう。 立花隆志さんが、インタビューをするときにはその相手の出している本は必ずすべて読むと言っていた。 そうでないと、相手の本音や突っ込んだ事は聞き出せないのだそうだ。 今回の対談集も第一部にはそのことが言えると思う。
 本書は三部構成になっていて、第二部ではネットワークについて、 第三部ではメディアについての対談である。 メディア論の部分では、メディアにあふれている、そこで商売しをしている売らんかなの商業主義の方たちの言葉とは裏腹の将来性についての、 あけすけな話が聞けて面白い。 電子メディアが知的財産権とか情報の値段とかを壊してアナーキーになるかもとか、 ネットはグローバル化ではなくローカライズを加速するとか、 はたからネットを見たときに素直に感じる事を言っている。 反対に、当たり前の事しか言っていないようでもあるが、私は楽しめた。 特に一番最後のメディア論は、マクルーハンのメディア論を現代に演繹したようで、 電子メール・メディアの持つメッセージの話として興味深い。 もしかしたら、こういった対談集は、その人物の背景にある情報を学習した後に読んだ方が違った面が見れて面白いのかもしれない。




新版アインシュタインを超える

講談社ブルーバックス
ミチオ・カク ジェニファー・トンプソン

 副題は「超ひも理論が語る宇宙の旅」。 量子力学の世界ではクォークが発見された後、このたくさん現れたクォークは物質の究極の構成物とは認められず、クォークよりさらに小さな世界を説明する理論が必要とされてきた。 しかし、現実的にそんな世界の現象を見ることはいくら巨大な加速器を造っても不可能になってしまった。 つまり、究極の理論をつくっても実証できないところまできてしまっているのだ。 そんななかで、超ひも理論が注目されているそうだ。 最初、超ひも理論は数学者のお遊びであるとか非難されていたようだが(実証性がない世界だからね。) すべての力を統一する大統一理論の候補となり、俄然有力視されるようになってきている。 もし、この理論が正しければ、まさに究極の理論になるはずだ。 しかし、この理論はもう私の理解の範疇を超えている。 数学的なテクニックから生まれた理論なので、それをイメージして直感的に理解することができないのだ。 あなたには、10次元の宇宙を想像できるだろうか。SF的な響きでとてもわくわくする話ではあるが・・・。 数式がいっさい出てこないので読みこなすのは「ホーキングの宇宙論」よりはやさしいかもしれない。 でも、その話は十分に破天荒である。読んでもわかったつもりには全然なれないが、そのての話に目が無いかたは読んでみはどうでしょうか。 超ひも理論の最新の話題とそれまでの歴史を知ることができる。





コンピュータとその周辺
秋葉原バックギャモン
島川 言成

 秋葉原のパソコン売り場の店員が見た、 パソコン戦国時代、秋葉原の合戦。 秋葉原の数々の事件を、当事者達に最も近い店員からみた話。 と、いろいろ想像して買ったのだが、期待外れ。 作者には失礼だと思うが、所詮パソコン売り場の店員のパソコンの知識である。 それでは、パソコンの歴史の範疇を超えられなかったようだ。 はっきりいってお勧めしません。




別冊宝島 電脳無法地帯
宝島社

別冊宝島は、でるとついつい買ってしまう。 うさんくさい裏モノ、アンダーグラウンドのネタを扱う本は意外に少ない。 執筆陣も電脳クラッカーものではおなじみの顔ぶれである。 そして、いろいろなレベルのクラッカーの犯罪の実録がある。 しかし、どの犯罪も訴えられたり、事件として捜査されていないものであり、 犯罪の手口を語る人たちも逮捕されていない。 つまり、実証性にとぼしいのだ、すべて自己申告の供述のみである。 彼らの言うことは、そのまま鵜呑みにはできない。 それなりに、眉につばをつけて読んだほうがいいだろう。 だが、そこに書かれている犯罪の手口は実際に使われている手口だ。 どこかで、その手口を使って犯罪は行われており、多少なりとも被害者もいるだろう。 しかし、はやまらないで欲しい。 ここで、述べられている犯罪の手口は、レベルの低い詐欺師の手口であり、 小銭をごまかす寸借詐欺のようなものだ。 企業のサイトをハッキングすることが、できるような技術的な話を期待してはいけない。 ここに出てくる人たちは、通常の(もしくは正常な)倫理観が欠如した人たちの話ばかりだ。 この本の正しい読み方は、そうした人たちの人間観察である。




スタパミン
アスキー出版局
スタパ斎藤

M君事件などがあったときには、オタクなどというものは忌み嫌われる者で、 世間から白眼視され、世捨て人の代名詞的な存在であったものなのだが、 そいつが、現在では圧倒的市民権を得てしまっているというのも、 大衆って結構節操が無くて、いいかげんだなと思ったりします。 今じゃオタク的に蘊蓄垂れたりしたほうが、いろんな意味で一目置かれたりして、 ちょっとCoolだったりします。 それに、世の中には物欲を刺激する物で溢れ、情報が氾濫しているというのに、 それらに少しも興味を示さずやり過ごして生活している人々なんて、 去勢された宦官みたいな感じがして、かえって不気味です。 その点このスタパ斎藤さんは、物欲に走りまくって秋葉原で目に付くハードを 片っ端から衝動買いしまっくて、ある意味現代人として正しい生き方を実践しているんじゃないでしょうか。
 そのスタパさんの書く文章は、パワーが溢れまくっていて、 宇宙人から電波をもらってるんじゃねーかとか、 なんか変なのに憑かれて自動書記してるんじゃないかと思わせるほどです。 ソフマップの歌が頭から離れないので、作詞してみたり、 原稿を遅らせたときの言い訳のテクニックを書いてたりしてとても楽しいです。 なかでも白眉は「さらなるオタクを目指して」「秋葉原人のやりかた」とかでしょう。 その方面にどっぷりと両足浸かっているスタパさんですから、 当然、相当いっちゃってます。やっぱり僕もこれぐらいしなきゃダメ?とか 思っちゃいます。
 スタパ斎藤の本を読んでいることを周囲に悟らせたくない読者のための機能 (カバー裏側、帯も)とかもチョー便利みたいな感じです。 ってちょっと汚染されてきたかな。

By Kaji yasuyuki:ykaji@usa.net

return to Home