2009年1月 6日
Best Software Writing
正月休みに何か気楽なものでも、と思い『Best Software Writing』を読みました。
この本は『Joel on Software』で知られる Joel Spolsky 氏が編纂した、ソフトウエアに関するエッセイ集です。20数名の著者による 30本以上のエッセイがまとめられています。
エッセイの選択は2004年に行われたため、今となっては目新しくないものもありましたが(Python は動的型付けで楽ちん。テストを書けば安心、みたいな)、今読んでも十分におもしろいエッセイが多くありました。なかでも次のエッセイが特におもしろいと思いました。
- なぜ、アンドキュメンテッドな振る舞いに依存するアプリケーションを単に締め出さないのか by レイモンド・チェン
文書化されていない Windows の挙動に依存している行儀の悪いアプリをなぜ締め出さないのかという話。動かないアプリがあったら企業は新しい Windows にアップグレードしてくれない。ゲーム会社は既に売ってしまったゲームを新しい Windows に対応させることに興味などない、などなど。 - 情熱 by ロン・ジェフリーズ
エクストリームプログラミングとアジャイルに情熱を注いだ頃について、シニカルにではなく熱く思いを込めて回顧する。筆者にとって情熱とは欠かせないものである。 - 電球を替えるのにMicrosoft社員は何人必要か by エリック・リッパート
たかだか5行程度で実装できる関数を API として VBScript に追加するのは容易に思えるかもしれないが、そのためには仕様書、セキュリティレビュー、テスト、ドキュメント、ドキュメントの校正と翻訳、などなどといろいろやるべきことがあり、全体の作業は膨大になる。Microsoft において、出荷できる製品のクオリティを達成するのは大変なのだ、という話。 - グループにとって最悪の敵は自分自身である by クレイ・シャーキー
過去40年において、ソーシャルなソフトウェアでは同じような失敗が繰り広げられてきた。そしてそれは今も変わらない。グループは外部からの攻撃ではなく、参加者による内部からの攻撃によって崩壊する。自由・平等主義はグループを崩壊に導く。グループ内のコアグループには強い力を持たせる必要がある。などなど、といった内容。長文で示唆に富んでいます。 - ユーザとしてのグループ: フレーミングとソーシャルソフトウェアのデザイン by クレイ・シャーキー
こちらも同じ著者によるもの。フレーマー(荒らし)は確実に現れる。これは共有地の悲劇である。Slashdot ではレーティング、カルマ、メタモデレーションといったシステムでフレーマーに対処している。これは技術的には単純だが効果的であり、時間をかけて進化したシステムである。といった内容。 - 採用の危険 by エリック・シンク
独立系ソフトウェア会社が採用するときの注意点について。プログラマではなく開発者を雇え。つまり、コードを書いてバグを直すだけの人ではなく、製品の成功のためにさまざまな方法で貢献できる多才な開発者を探すことが大切。などなど、他にもいろいろな助言あり。
これらの中でも、長年に渡ってネット・コミュニティを観察し続けてきたクレイ・シャーキー氏による2本のエッセイは、語り口が鮮やかなこともあって、とりわけ興味深く思いました。
まとめ
エッセイ集ということで、何かすぐに役立つといったことが書かれているわけでもありませんが、気が向いたときに読む読み物としてはなかなかよいのではないかと思います。