English || XKeymacs | 7 つ道具 | Tips | JavaHelp | LilyPond | SlickEdit | 書評 | 落書 | リンク集

書評

基本的に、ここに挙げられた本は私が所有し愛読してる本です。

--- C, C++ ---

プログラミング言語C ANSI規格準拠
定番。入門書としても、リファレンスとしても利用できる。初めて読むには多少難解なところもあるが、C をやる人には必携の一冊。
The C Programming Language
上記の本の原書。英語が苦手な人でも日本語版を一読した後であれば、読めないことはない。逆に外人さんとプログラムの話をしたかったら、この本くらいは読んでおかないと専門用語(?!)でつまづくかも。
プログラミング言語C++第3版
C++ のバイブル。かなりボリュームがある。始めの方だけ読んで C++ を分かった気になっていたのだが、最近になって通読してみたところ、C++ に関する種々の疑問が解決した。C++ をやるひとは是非とも一読すべき本。
C++ coding standards―101のルール、ガイドライン、ベストプラクティス
先に原書を知り、なぜ日本語に訳されていないのだろうと思いつつ頑張って英語で読んでたら、読み終わるころに日本語版が発売された。Effective C++ よりも実践的(?!)なことが書かれている。たいていはプログラミング言語C++にも載っていることだが、要点が簡潔にまとめられていて読み易い。
Effective C++ 原著第3版
C++ の tips 的な事柄がまとめられた本。スマートなコードを書きたい人は一読の価値あり。原書に引き続き日本語版も第 3 版が出た。
組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド
コーディングスタイルというよりも、むしろ C 言語のサブセット。組込み開発者におくるMISRA‐C―組込みプログラミングの高信頼化ガイドの改訂版。goto はともかく continue の使用まで禁止するなど、これに従おうとすると翼を縛って空を飛ぼうとする面はある、もとい、C 言語を知っている人が窮屈な思いをすることになる。しかし C 言語に詳しくない人と一緒にコードを書く際は、これに沿うことでバグが混じりにくいコードが書けると思う。仕事でチームを組んでコードを書いている人には一読の価値有り。
独習C++
C++ の入門書として購入。この本を読まずに始めから プログラミング言語 C++ だと辛かったかと思う反面、この本だけでは C++ のかけらしか解らない。良くも悪くも入門書。

--- VC++ ---

プログラミングMicrosoft Visual C++ 6.0 マイクロソフト公式解説書
プログラミングMicrosoft Visual C++ .NET〈Vol.1〉基礎編 マイクロソフト公式解説書
プログラミングMicrosoft Visual C++ .NET〈Vol.2〉活用編 マイクロソフト公式解説書
VC++ の入門書(というにはかなり厚く、かなり詳しい)。これさえ読んでおけば、GUI を始め、VC++ の基本的なところはまかなえる。MSDN が読みこなせないうちは重宝する。
以前は個人で VC++ を用いて開発するのは VC++ が高価なこともあり敷居が高かったが、現在は学生ならば Visual Studio .NET theSpoke Premium Version 2003 を利用することで、4000 円程で環境を構築できる。
Advanced Windows
マルチスレッドを始め、ちょっと高級なことを知りたいときに役立つ本。MSDN で十分と言えばそれまでなのだが、うまくまとめられていて、読んでて面白い。
Microsoft WDMプログラミング―WindowsXP対応 Microsoft Programming Series
このような乱暴な言い方が許されるならば、Advanced Windows のドライバ版。ドライバを書く際に気を付けるべきことがいろいろ載っている。この本を読んだだけでドライバが書けるようになるわけではないが、ドライバを書く人は必読。
WindowsXPフィルタドライバプログラミング 入門と実践
一冊まるごとフィルタドライバについて書かれた本。ほとんどがサンプルコードを貼り付けただけ(解説もコメント程度)だが、フィルタドライバの敷居を下げるには十分。
Windowsユーザーインターフェイスデザインガイド マイクロソフトプレスシリーズ
GUI を持つソフトウェアを作成する人には必携の本。Windows の世界における "お約束" が全て載っている。
Windowsエラーメッセージ実装ガイド
ソフトウェアを作成するにあたり、エラー処理を避けて通ることはできない。Windows アプリケーションにおけるエラーメッセージのありかた、実際のメッセージの書き方を知ることができる貴重な一冊。
WinSock 2プログラミング―Windows Sockets APIによるネットワークプログラミングのすべて
VC++ を用いたネットワークがらみのプログラムの書き方が簡単なサンプルと共に紹介されてる。
Visual C++.NETではじめるWin32APIシステムプログラミング
これも、スレッドがらみのお話し。セマフォとかミューテックスとか言われてもなにがなんだか解らない人は、この本を読むと、妙な言葉に対する恐怖心が薄らぐかも。
VC++によるWin32プログラミングTips
Tips 集。たいていは Web で得られる情報。この本のサンプルコードもここで見える。この本は持ってないっす。
Visual C++5パワフルテクニック大全集
Tips 集。役に立つような立たないような。VC++ でどんなことができるのかを知るには良いかも。
これからはじめるVisual C++6.0
Visual C++6.0プログラミング入門 パーソナルプログラミングシリーズ
二冊ともこてこての入門書。前者の方が読み易く、後者の方が深いが、ほとんどどんぐりの背比べ。ま、一冊目には……。

--- Java ---

プログラミング言語Java
欲しかったのにずっと絶版になっており手に入らなかったのだが、先日ついに新しい版がでたので喜んで買った。入門書としても、リファレンスとしても利用できる。ただし AWT や Swing については全く触れられてないので、GUI を持つアプリケーションを作るには、他の本に頼る必要がある。
コアJava2〈Vol.1〉基礎編サンソフトプレスシリーズ
コアJava2〈Vol.2〉応用編サンソフトプレスシリーズ
これを読めば、Java の基本的なところから Swing の使い方まで、一通り理解できる。プログラムの本ではよくある練習問題がほとんどないので、さくさく読める。筆者が作成したクラスの使用例が多い。また、C++ をかじったことのある人には少々冗長。読者像として「動くキッチン用品や果物のツリーなど、おもちゃのようなサンプルコードだらけの本は必要ない人」と唱ってる割に、サンプルコードのできが五十歩百歩なのは御愛敬。
グラフィックJava2〈Vol.2〉Swing編(上)
グラフィックJava2〈Vol.2〉Swing編(下)
Java で GUI を構築するさいに役立つ本。本家のマニュアル Java 2 Platform SE 1.3 より情報量は少ないが読み易い。
Java GUIプログラミング (SWT編)
SWT (Standard Widget Toolkit) の入門書。メニューやボタンなど基本的なコンポーネントにおける種々の Tips から 、Display と Shell の概念や、アプリケーション終了時に処理を行わせる方法まで SWT の様々な機能が紹介されているので、SWT の「いろは」が解らないうちは参考になる。最近のアプリケーションで良く使われるスプリットウィンドウ (SashForm)、ツリー (Tree)、テーブル (Table) については全く触れられてないが、この辺のことは Eclipse Platform API Specification を参照すればすぐに解ることなので良しとする。SWTサンプル集に物足りなさを感じてきたら一読の価値あり。
まるかじりJava―Javaの基本からサーバサイドまで
JavaでHello World が元ネタ。本の方が多少詳しいが、サイトの方がネタは豊富。Java アプリケーションを手始めに、iアプリやサーブレットなど様々な環境で "Hello World" を表示するまでの手法を示す。XML など、何も知らないとちょっと敷居の高く見えることを簡単なコードで紹介してる。この本も持ってない。
JavaHelp―効果的なヘルプメッセージの作り方
JavaHelp 作成者必携の本。Help コンテンツ自体の作り方から、アプリケーションへの実装、パッケージの仕方まで JavaHelp を利用するのに必要な情報は全て載ってるといっても過言ではない。これさえあれば、JavaHelp の作成で困ることなし。

--- デザインパターン ---

オブジェクト指向における再利用のためのデザインパターン
かの有名な本。一読したが、血となり肉となり私のコードの質を高めるには到底。読書百遍、意自ずから通ずを地で行く本。
増補改訂版Java言語で学ぶデザインパターン入門
Java言語で学ぶデザインパターン入門 マルチスレッド編
平たく言えば、GoF の "オブジェクト指向における再利用のためのデザインパターン" の焼き直し。分かりやすく感じるのは "オブジェクト指向における再利用のためのデザインパターン" の後で読んだからか、それとも単に字が少ないからか。最近 Java にも UML にも然程縁がなくなってしまった私には、いろいろな意味で良い入門書。

--- Perl ---

初めてのPerl
Perl の入門書。これさえあれば大抵のことはできる。というか、私にはこれで十分だった。
プログラミングPerl〈VOLUME1〉
プログラミングPerl〈VOLUME2〉
Perl のことならなんでも書いてる本。私にゃ猫に小判 ?!

--- テスト・デバッグ ---

ソフトウェアテスト293の鉄則
ソフトウェアのテストを行うためのノウハウが詰った本。C, C++, JAVA など最近の言語(?!)しか知らない私には、「テストツールを作成する際は、敢えて繰り返される処理をまとめずに個々の箇所に残すアプローチ、つまり、"オープンコーディング" にこだわるべきである」ということを知ることができただけでも大収穫。
# はい。テストツールを書くのにがしがし構造化し、はまっていたのは私です。
Windowsプログラマのためのデバッグテクニック徹底解説 マイクロソフト公式解説書
最初の一章だけでも元が取れる本。もとい、途中からは理解できなかった。もう 2, 3 度読まねば。
C++デバッグ技術―Visual C++プログラマーのためのトラブルシューティング
絵が多い割に、内容はしっかりしてる。デバッグしてて「自分はなんて努力家なんだろう」と感じる人は、この本を読むとちょっと楽できるようになるかも。

--- Emacs ---

GNU Emacsマニュアル20.6
Emacs のリファレンスマニュアル。emacs like なキーバインドを実装する必要のある人は必携。例えば急に C-v の振舞いを知りたくなったときなどでも、この本を見れば「ウィンドウの下端 2 行を上端に持っていき、それに続けてこれまで表示されていなかったほぼウィンドウ 1 面分の行を表示します。ポイントがウィンドウの上端より上にでてしまう場合には、ポイントはウィンドウの新たな上端の行に移動します。」なんてことがすぐに解る。
便利に使おうMule for Windows活用入門―Windowsで文章を扱う人へ
Windows 上でお手軽に Mule を利用できるようになれる。
やさしいEmacs‐Lisp講座
Emacs Lisp の書き方が単純かつ明解に解説されている。体系だってはいないが、実践的な例が豊富で Emacs Lisp の敷居を下げてくれる。

--- XML ---

プログラミングXMLマイクロソフト公式解説書
Windows 上で XML を利用したい人向けの本。幸か不幸か、サンプルはほとんど C# で書かれている。
Java&XML 第2版
Java 上で XML を利用したい人向けの本。XML 自体の解説はほとんどない。

--- 書き方 ---

コードコンプリート―完全なプログラミングを目指して (上)
コードコンプリート―完全なプログラミングを目指して (下)
ソフトウェアエンジニアリングについて書かれた名著。コードの書き方から、エンジニアの心理まで内容は幅広い。とにかく面白い。
ライティングソリッドコード ―バグのないプログラミングを目指して マイクロソフトプレスシリーズ
KISS (Keep It Sipmle & Small.) の実践方法、及び、アサートやステップ実行の大切さが述べられている。基礎的な (だからこそ、根が深い) バグを根絶するためにも、是非読むべき本。但し、技術的な情報は、上述のデバッグの章で紹介した本等で補う必要がある。
プログラム書法
原書 The Elements of Programming Style のタイトルが示す通り、The Elements of Style のプログラム版。もともと Fortran, PL/I 向けに書かれた本だが、プログラム書法の原則は C, C++, Java 等に通じる箇所も多々あり、一読の価値あり。また、余談ながら、プログラム例の中のコメントを対訳方式で訳した、もとい、原文と訳文を並べたのは秀逸。他の訳者にもぜひ見倣って欲しい。
プログラミング作法
書式から始まり、プログラミングスタイルのポリシーについて書かれた本。大切だけど、誰も教えてくれない情報が満載。
リファクタリング―プログラムの体質改善テクニック Object Technology Series〈10〉
ユニットテスト、すでに動いてるコードに手を加えること、コードを細分化しできるだけ単純にすることの大切さ等が述べられている。Sample code は JAVA で書かれているが、C++ にも流用できる。
C/C++によるプログラミングスタイルブック
たいしたことは書いてない。が、書店でぱらぱら眺めて知らないことだらけだったら読んだ方が良いかも。
Cプログラミング診断室―さらに美しく健康的なプログラムのために
かなり、内容は古いが、現在に通じる教訓も少なくない。改訂前のCプログラミング診断室―うつくしく健康なプログラムのためにここで読めたりする。
フリーウェア作家になろう!
実際にフリーウェアを作っている人が、その思いを語った本。フリーソフトを作成する人が何を考えて作っているのか知りたい人には面白く読める。
ただし、技術的なことは書かれてないので、これを読んだからと言って、フリーソフトを書けるようになるわけではない。ソフトウェアを書けるようになりたかったら、まずはプログラミングMicrosoft Visual C++ .NET〈Vol.1〉基礎編 マイクロソフト公式解説書プログラミングMicrosoft Visual C++ .NET〈Vol.2〉活用編 マイクロソフト公式解説書を読むべき。

--- ソフトウェア開発 ---

ソフトウェア開発のダイナミズム MicrosoftPRESS
Microsoft で Visual C++ の開発に携わっていた Jim McCarthy の著作。すでにコードコンプリートを読んだ人にはあまり得るところはないかも。脇道ながら、"医者を見習い「保証はできません」や「もちろん、ごく簡単な処置でもリスクはつきものです」と、ごく当たり前のように、自信たっぷりに言え" とか "近代人を自称する人はすべて、フロイトを基本的に理解しておく必要がある。" には感銘を受けた。
ソフトウェアプロジェクトサバイバルガイド    マイクロソフト公式解説書
ある意味あたりまえのことが、淡々と書かれている。まずはソフトウェアプロジェクト サバイバルガイド (Steve McConell著) 概要紹介をオンラインで読んでみて、それでも物足りなければ実際に読むと良い。NASA で用いている「ソフトウェアプロジェクトを成功させるための必須項目」及び「ソフトウェアプロジェクトを成功させるための禁止項目」などは参考になる。cf. Recommended Approach to Software Development Revision 3

--- MCP ---

MCSEスキルチェック問題集 Microsoft Windows2000 Server マイクロソフト公式解説書
MCSEスキルチェック問題集 Microsoft Windows2000 Professional マイクロソフト公式解説書
MCSE/MCSAスキルチェック問題集 Microsoft WindowsXP Professional マイクロソフト公式解説書
MCSEスキルチェック問題集 Microsoft Windows2000 Active Directory Services マイクロソフト公式解説書
MCSE/MCSAスキルチェック問題集 Microsoft Windows 2000 Network Environment マイクロソフト公式解説書
MCSEスキルチェック問題集 Microsoft Windows2000 Network Infrastructure Administration マイクロソフト公式解説書
Microsoft の資格試験、Microsoft Certified Professional Program (MCP) 用の問題集。これを 3 度読んでおけば、きっと受かる。ちょっと頑張れば 1 日足らずで通読できる。あくまで知識を付けるのが目的なので、自分の力を試すのは本番のお楽しみとし、分からない問題はさっと答えを見てしまうのがポイント。分からない問題を考え抜いて間違うと、間違った答えが脳ミソに擦り込まれてしまうので注意。

--- 英語 ---

100万語収録のスーパー英和・和英辞典「英辞郎」
普段は 英辞郎 on the Web を利用しているのだが、ネットに接続できない環境で仕事を行う機会があったので購入してみた。数あるパソコンで利用できる辞書のうち英辞郎を選んだのは、すでにオンラインで利用し内容が十分であることが確認できていることと、他のものと比べ廉価であるからである。あまり期待してなかったのだが、起動の早さと検索の早さには驚かされた。特に検索の際にインクリメンタルサーチされるのは秀逸。オンライン版で十分と言ってしまえばそれまでなのだが、迷ってる人は迷わず買うべし。
The Elements of Style
英文の書き方の本。学生時代に読まされた人も多いはず。私も読まされとけば良かったと感じる今日この頃。ここで全文読めたりする。
TOEICテストスーパートレーニング 文法・語法・正誤問題編
TOEIC の文法問題は、これ一冊で十分。

--- 小説 ---

O・ヘンリー短編 集講談社英語文庫 96
A Retrieved Reformation (よみがえった改心) は何度読んでもそのたびに泣ける。A Retrieved Reformation はここでも読める。
ふしぎの国のアリス講談社文庫
相対論をやったときに鏡の国のアリス 講談社文庫がその辺の話を考慮して書かれてると聞いて……。で、本屋に行ったら 2 冊並んであったので、両方買ってしまった。物語としてはふしぎの国の方が面白かった。当然(?!)オンラインでもこれらの話は公開されてる: 不思議の国のアリス鏡の国のアリス
つかぬことをうかがいますが…―科学者も思わず苦笑した102の質問 ハヤカワ文庫NF
また、つかぬことをうかがいますが…―科学者も居留守を使う98の質問 ハヤカワ文庫NF
イギリスの週間科学雑誌 New ScientistThe Last Word という Q&A コーナーに寄せられた質問と答えの翻訳。子供電話相談室に出てくるような素朴な質問に対し、真面目な答えとウィットに満ちた答えが併記されているのがイギリスらしい。
鳥って、どうして寝てるあいだに木から落ちないんですか?
鏡に写る像は、どうして上下でなく左右がひっくりかえるんですか?
ビッグバンが起こったとき、どのくらいうるさかったんでしょう?
エキスパートCプログラミング―知られざるCの深層
C 言語をかじったことがある人にはより楽しめるエッセー。決して Effective C++ のようにプログラミングのエキスパートになるための本ではない。気圧計を用いてビルの高さを求める方法を両手の指を総動員しても数えきれない程掲載している本は、世界は広しと言えどこの本くらいではなかろうか。
悪魔の辞典
英語学習者必携?! 例えば "FORK, n. [フォーク] 死んだ動物を口にほうりこむために主として用いられる道具" と。「原語で読んでみたい!」と思ったら、ちゃんとネットで公開されてました。The Devil's Dictionary (悪魔の辞典)

(C) 2001-2006 oishi@cam.hi-ho.ne.jp