[特別企画] この業界でメシを食うための5冊(プログラマ編)

|
先日社内に向けてアンケートを行いました。今回のお題は
  • この業界でメシを食うための5冊
  • あなたが考える、今年の大きなニュース
まずは「この業界でメシを…」プログラマ編をご紹介します。これさえ読めばメシを食えるようになる!…かな? 業界というよりただ弊社の、あるいは各自の個人的な回顧録「こんな本を読んで仕事をしてきました」という側面もなきにしもあらずですが、ともあれなにかのご参考になりましたら幸いです。

プログラミング全般

  1. アルゴリズムとデータ構造
    • 勧めてくれた人は多分ヴィルト(?)の本を勧めてくれたんだと思いますが、自分が買ったのは日本人が著者のものでした。他の人が作った既知のアルゴリズムを読んで知るのはプログラミングする時に非常に役に立ったと思っています。
  2. リファクタリング―プログラムの体質改善テクニック
    • 就職してすぐに読みました。よいプログラムとは何かという認識を変えてくれる良書だと思います。現代的なプログラミングを知る上で欠かすことができない本です。
  3. 達人プログラマー
    • 言うまでも無くすごく有名な本だと思っています。プログラムすることがある人であれば知っておくべきであるため。知っている人であれば、自身の考えの再確認ができ、実践できていない自分に嫌気がさすことでしょう。知らない人であれば、納得感が得られるでしょう。
  4. 闘うプログラマ(上・下)
  5. アプリケーションエンジニア合格論文集
    • 合格論文集は、試験を受ける時に役立ちました。業務とは直接関係ありませんが、試験に合格できると仕事をする上で信用を得る事ができます。

ネットワーク・UNIX

Googleについてはさすがにみなさん注目されているようです。
  1. bit別冊 TCP/IPによるネットワーク構築 Vol.1~Vol.3
    • 大学自体の教科書(参考書)でネットワークってこうなのよということを初めて教わった一冊なので今でも覚えています。
  2. Googleを支える技術
    • まー言わずと知れたGoogleさんの巨大システムがどう動いているのか。Webアプリケーションを作っている身からすると興味津々で参考になりまくります。
  3. The UNIX Super Text 上下

Windows

  1. Advanced Windows 改訂第4版
    • 業務で Windows のサービスプログラムを実装する際に読みました。マルチスレッドでのスレッド同期について、非常に参考になります。これも現在は第5版が出ています。
  2. プログラミングMicrosoft .NET Framework 第2版
    • 業務で、基幹系業務システム構築の基盤作成としてVisualBasic2005 のカスタムコントロールを作成などしたときに読みました。.NET のプログラムを業務で作成する場合は、知っておいた方がいい知識が得られます。特にボクシングやロックオブジェクト、ガベージコレクションなどの仕組みがよくわかります。
  3. プログラミングWindows95
    • 学生時代に読みました。現在は第5版が出ています。なぜか GUI 系の開発を行うことが多いので、この本で学んだWindows のイベント処理モデルやデバイスコンテキスト周りは非常に役に立っています。

Perl

言語関連ではPerlが圧倒的です。特に「プログラミングPerl」はたくさんの支持を得ました。
  1. プログラミング Perl
    • 提案・要件定義業務とコーディング業務を行ったり来たりしているとPerlの細かいところをうっかり忘れたりするので、手元に転がしておいてさくっと見たい時に重宝しています。
  2. CGI & Perl ポケットリファレンス
  3. Effective Perl

C

Perlと並んで多かったのがC関連。こちらは新人のころK&Rで仕込まれた、というひとが多かったようです。
  1. プログラミング言語C
    • 大学で勉強した時に使っていた本です。「業界でメシを食う」前の前提なのかもしれませんが、自分も含めて仕事に適した本は他にもある中で、これを読んでおけばとりあえずは他の言語や処理系に触った時にでもなんとかなるかなぁ。
    • 私が最初に研修で初めて読んだ本。やっぱり最初はC言語?がいいのかな。最近は研修でいきなりJavaでオブジェクト指向とかやってるけど、基本から。
    • 自分がこれでプログラミングを覚えたので
    • 訳はあれかもしれませんが、プログラミングのエッセンスが集まった良い本だと思います。
  2. C言語による最新アルゴリズム事典
  3. C言語入門
    • 最初に読んだ真っ当な言語の本です。真っ当は、本ではなく言語にかかります: 本(真っ当な(言語))
  4. 秘伝C言語問答 ポインタ編

SQL

  1. Oracle システム構築ガイド
  2. SQLポケットリファレンス
  3. 現場で使えるSQL
    • タイトル通り、実務で困った時に非常に役立つ本。基本事項をド忘れした時に活躍。最初は書いてある内容を概念とし捉えられず初心者向きではないが、ある程度知識をつけてから見ると独自の具体例+概念説明が重宝する。

Java

Java関連は意外に少なかったですね。
  1. Jakartaプロジェクト徹底攻略
  2. Javaの格言―より良いオブジェクト設計のためのパターンと定石

PHP

  1. PHPによるWebアプリケーションスーパーサンプル
    • 業務でなく、友人に頼まれてPHPでWebショップの簡単なカートを作らないといけなくて買ったのですが、丁度よいサンプルがCDに収められていて、それをベースに簡易カートを作成できた。解説もわかりやすい。ただ、もう数年前の本なので新しい版が出てると思う。

JavaScript

  1. JavaScript
  2. JavaScript ポケットリファレンス

その他

その他まとめて。テスト等の実務からWebデザイン、一般数学まで。意外にもデザイン系をあげるひとが少なかった印象です。書籍ではなくてWeb上のコンテンツを参考にしているのかな。
  1. アンチパターン
  2. 図解でわかる文字コードのすべて
  3. 基本から学ぶソフトウェアテスト
  4. 知識ゼロから学ぶ ソフトウェアテスト
  5. ディフェンシブ・ウェブデザインの技術
  6. ユーザ・読み手の心をつかむマニュアルの書き方
  7. フェルマーの最終定理
  8. メタマジックゲーム
  9. 複雑系
    • 収穫逓増で人の世は動いていることを知らされる。
以下、ビジネス編に続きます。

このブログ記事について

ひとつ前のブログ記事は「use = require + import」です。

次のブログ記事は「この業界でメシを食うための5冊(ビジネス編)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。