見習いJavaプログラマ向け10冊+α

2014年版はこちら => http://d.hatena.ne.jp/JavaBlack/20140420/p1

の関係で,あくまで一例として.言語や分野が異なれば,お勧め本も変わってくるので注意.*1

プログラミング言語Java (The Java Series)

プログラミング言語Java (The Java Series)

  • 作者: ケン・アーノルド,ジェームズゴスリン,デビッドホームズ,柴田芳樹
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2007/04
  • メディア: 単行本
  • 購入: 38人 クリック: 1,044回
  • この商品を含むブログ (71件) を見る

Effective Java 第2版 (The Java Series)

Effective Java 第2版 (The Java Series)

オブジェクト指向における再利用のためのデザインパターン

オブジェクト指向における再利用のためのデザインパターン

アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技

アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技

今見たら初版も含めて絶版?それは困った.


プログラミング作法

プログラミング作法

ここらあたりまでは定番.


C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth series)

C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth series)

  • 作者: ハーブサッター,アンドレイアレキサンドレスク,浜田光之,Herb Sutter,Andrei Alexandrescu,浜田真理
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2005/10
  • メディア: 単行本
  • 購入: 20人 クリック: 383回
  • この商品を含むブログ (100件) を見る

畑違いな所もあるが,言語が違ってもJavaの参考になる部分が多いことから取り上げることにした.*2

コンピュータの構成と設計~ハードウエアとソフトウエアのインタフェース 第3版 (上)

コンピュータの構成と設計~ハードウエアとソフトウエアのインタフェース 第3版 (上)

Javaスタイルブック (IT Architects’ Archiveシリーズ)

Javaスタイルブック (IT Architects’ Archiveシリーズ)

  • 作者: スコット・W・アンブラー,アラン・バーミューレン,グレゴリー・バンガードナー,エルドン・メッツ,トレバー・ミスフェルト,ジム・シュー,パトリック・トンプソン,滝沢徹,牧野祐子
  • 出版社/メーカー: 翔泳社
  • 発売日: 2009/01/30
  • メディア: 単行本(ソフトカバー)
  • クリック: 8回
  • この商品を含むブログ (15件) を見る

ちょっと古くさいこともあって入れるかどうか悩んだが,初心者向けということで一応挙げることにした.コーディング規約マニアなプロマネやコン猿と戦うには,こういう本で理論武装しておくことも必用だ.

アルゴリズムクイックリファレンス

アルゴリズムクイックリファレンス

アルゴリズム本も一冊は目を通しておくべき.上記は一例.*3

追記:アルゴリズム・イントロダクションの三版が出版されてるので,それもお勧め.

アルゴリズムイントロダクション 第3版 第1巻: 基礎・ソート・データ構造・数学 (世界標準MIT教科書)

アルゴリズムイントロダクション 第3版 第1巻: 基礎・ソート・データ構造・数学 (世界標準MIT教科書)

アルゴリズムイントロダクション 第3版 第2巻: 高度な設計と解析手法・高度なデータ構造・グラフアルゴリズム (世界標準MIT教科書)

アルゴリズムイントロダクション 第3版 第2巻: 高度な設計と解析手法・高度なデータ構造・グラフアルゴリズム (世界標準MIT教科書)


97 Things Every Programmer Should Know: Collective Wisdom from the Experts

97 Things Every Programmer Should Know: Collective Wisdom from the Experts

http://programmer.97things.oreilly.com/wiki/index.php/Contributions_Appearing_in_the_Book

  1. 初心者が知るべきキーワードがギッシリ詰まっている.目を通しておいて損はない.
  2. 短編エッセイなので,手頃で比較的初心者にも読みやすい本である.

IT技術者にとっては英語は必用不可欠な道具だ.そして英語の世界には日本語に比べて,ずっと幅広く,新しく,活気に満ちた別世界がある.インターネット,電子辞書,DVD,Amazon.comKindle等々によって,昔にくらべて英語の壁はずっと小さく,乗り越えやすいものになった.出て行かないのは人生で損するよ.






....と書いてたら,12月17日出版予定だってさ.がっくし.orz

プログラマが知るべき97のこと

プログラマが知るべき97のこと

http://www.oreilly.co.jp/books/9784873114798/

内容は本物のプログラマーなら7〜8割は知っている話ばかりだけど,プログラマーが知るべき内容をこれだけ幅広くまとめている本とかブログとかって,意外にないんだよね.そういう意味では初心者(や視野の狭い自称ベテラン)にはお勧めだと思う.

日本語版で加筆するのなら,「文字型は1バイトとは限らない」「英語を(必死に)学べ」とか入れて欲しかったな.これは英語圏には無い発想だろうから.*4

その他

たまには,こういう本にも目を向けてほしい.
http://d.hatena.ne.jp/t-wada/20071220

Java Cookbook

Java Cookbook

これは10冊の中に入れても良かったかも.

Jakarta Commons Cookbook

Jakarta Commons Cookbook

Web Security Testing Cookbook: Systematic Techniques to Find Problems Fast

Web Security Testing Cookbook: Systematic Techniques to Find Problems Fast


プログラミング言語C 第2版 ANSI規格準拠

プログラミング言語C 第2版 ANSI規格準拠

改訂新版 Cプログラミング診断室

改訂新版 Cプログラミング診断室


Struts 2 in Action

Struts 2 in Action

Java並行処理プログラミング ―その「基盤」と「最新API」を究める―

Java並行処理プログラミング ―その「基盤」と「最新API」を究める―

Java Power Tools

Java Power Tools

CJKV Information Processing: Chinese, Japanese, Korean, and Vietnamese Computing

CJKV Information Processing: Chinese, Japanese, Korean, and Vietnamese Computing

Programming Google App Engine

Programming Google App Engine


詳解TCP/IP〈Vol.1〉プロトコル

詳解TCP/IP〈Vol.1〉プロトコル

詳解TCP/IP〈Vol.2〉実装

詳解TCP/IP〈Vol.2〉実装

Manage It! 現場開発者のための達人式プロジェクトマネジメント

Manage It! 現場開発者のための達人式プロジェクトマネジメント

オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)

オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)

Founders at Work: Stories of Startups' Early Days (Recipes: a Problem-Solution Ap)

Founders at Work: Stories of Startups' Early Days (Recipes: a Problem-Solution Ap)

Coders at Work: Reflections on the Craft of Programming

Coders at Work: Reflections on the Craft of Programming

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)

イノベーションのジレンマ 増補改訂版 (Harvard Business School Press)

イノベーションのジレンマ 増補改訂版 (Harvard Business School Press)

誰のためのデザイン?―認知科学者のデザイン原論 (新曜社認知科学選書)

誰のためのデザイン?―認知科学者のデザイン原論 (新曜社認知科学選書)

熊とワルツを - リスクを愉しむプロジェクト管理

熊とワルツを - リスクを愉しむプロジェクト管理

欺術(ぎじゅつ)―史上最強のハッカーが明かす禁断の技法

欺術(ぎじゅつ)―史上最強のハッカーが明かす禁断の技法

ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか

ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか

  • 作者: ジュニア,ヘンリー・S.ウォーレン,Jr.,Henry S. Warren,滝沢徹,玉井浩,鈴木貢,赤池英夫,葛毅,藤波順久
  • 出版社/メーカー: エスアイビーアクセス
  • 発売日: 2004/09
  • メディア: 単行本
  • 購入: 35人 クリック: 732回
  • この商品を含むブログ (129件) を見る
英語上達完全マップ―初級からTOEIC900点レベルまでの効果的勉強法

英語上達完全マップ―初級からTOEIC900点レベルまでの効果的勉強法

Art of Computer Programming, Volumes 1-4A Boxed Set, The (Box Set)

Art of Computer Programming, Volumes 1-4A Boxed Set, The (Box Set)


読んではみたいけど,英語力の不足を痛感する毎日です.*5

Continuous Integration: Improving Software Quality and Reducing Risk (Addison-Wesley Signature Series (Fowler))

Continuous Integration: Improving Software Quality and Reducing Risk (Addison-Wesley Signature Series (Fowler))

Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler))

Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler))

User Stories Applied: For Agile Software Development (Addison-Wesley Signature Series (Beck))

User Stories Applied: For Agile Software Development (Addison-Wesley Signature Series (Beck))


そしてこれ

ネイティブを納得させる英文履歴書の書き方 ~HOW TO WRITE BETTER RESUMES~

ネイティブを納得させる英文履歴書の書き方 ~HOW TO WRITE BETTER RESUMES~

内側から見た富士通「成果主義」の崩壊 (ペーパーバックス)

内側から見た富士通「成果主義」の崩壊 (ペーパーバックス)

あと,UNIX本とかEmacs本とか業界本とかアジャイル開発本とかKindleと電子辞書も入れたいな………
http://d.hatena.ne.jp/JavaBlack/20101018/p1

番外

とりあえずあれだ・・今読んでる

オブジェクト指向スクリプト言語 Ruby (ASCII SOFTWARE SCIENCE Language)

オブジェクト指向スクリプト言語 Ruby (ASCII SOFTWARE SCIENCE Language)

には、わざわざまつもとゆきひろ氏が招致した、オブジェクト指向の専門家らしい人が共著になってて、一つの項目でオブジェを語るくらいだし、い、いいよね・・・?

http://d.hatena.ne.jp/gamecome/20101126/1290701009

オブジェクト指向に関する説明は簡潔で的を射たものだったと思います.


ただしこれを今の見習いプログラマには絶対に勧めません.Ruby言語自体の解説が古すぎて参考にならないことと,何よりあまりに古すぎて今では入手が困難なためです.

そういえば,こんなのもあった.

やっぱ結局、英語を訳したモンになるんスねえ・・・ 

原書で読むという手もありますよ.

Introduction to Object-Oriented Programming, An

Introduction to Object-Oriented Programming, An

やっぱり安くはないけど.

日本にはインチキが多いってことなの・・・?

まあそれはね…….コの業界にもイロイロと大人の裏事情というのがあるのですよ.

http://karetta.jp/book/okite *6

さらに余談

ハッカーズ料理読本 (アスキーブックス)

ハッカーズ料理読本 (アスキーブックス)

Spam - The Cookbook

Spam - The Cookbook

http://b.hatena.ne.jp/entry/d.hatena.ne.jp/JavaBlack/20101203/p1

追記

  • id:fumokmm +αがめちゃ多い(笑)読んだことない本が多いので、機会があれば読みたい。

これ結構重要.初心者向けの本だけでも10冊くらいにはなるけれど,プログラマーが読むべき書籍,知るべき知識としては+αの方が遙かに多いんだよ.+αの努力を忘れたプログラマーは,ほんの数年で時代遅れの老害になってしまうのが恐い所.

  • id:seiunsky "「文字型は1バイトとは限らない」"日本人向けに言うなら 「文字は1〜2バイトとは限らない」の方が良いかも。

日本人にとっては「1バイトじゃない」のは常識なんだけど,外国人,特にラテン語圏の人にとってはそうじゃない国が多いんだね.それこそ「国際化」でさえも1バイトという時代が長い間続いていたとか.

今でもそういう意識の外国人プログラマーは結構いるようで,全く日本語対応(というか2バイト/マルチバイト対応)されてないツールや拡張なんかを目にすることは,そんなに珍しくない.外国人技術者と一緒に仕事をする時は,彼らが「文字型=1バイト」と思っていても驚いたり馬鹿にしたりせず,互いの文化の違いを認めた上で,冷静に間違いを指摘するくらいにはなっておいた方が良いでしょう.

  • id:naotoj CJKV本の和訳本、中日韓越情報処理または越韓中日情報処理にすべきじゃないかということを昔ブログに書いたなw。
  • id:nukkiii 予想以上にアフィ収入がよかったからシリーズ化してみたいのかな?

違うよ.「あんたの目はフシ穴だろ」って良く言われない?*7

*1:といいつつ,やっぱりマンネリだなあ.だからコレを書くのは気が進まないのだよ.

*2:言語が違えば何が変わり何が変わらないのか,言語が変わってもプログラミングに共通する要素とは何かということを知るのも,初心者にとっては有意義なことかな.

*3: http://d.hatena.ne.jp/JavaBlack/20110923

*4:日英の比較.出版年度に注目.

Javaクックブック―Java開発者のためのレシピ集

Javaクックブック―Java開発者のためのレシピ集

Java Cookbook

Java Cookbook

年度は近いけど,Java5対応なので,非対応の初版との差は決定的.
STRUTS・イン・アクション

STRUTS・イン・アクション

Struts 2 in Action

Struts 2 in Action

TCP/IPソケットプログラミング Java編

TCP/IPソケットプログラミング Java編

TCP/IP Sockets in Java, Second Edition: Practical Guide for Programmers (The Practical Guides)

TCP/IP Sockets in Java, Second Edition: Practical Guide for Programmers (The Practical Guides)

JUnitイン・アクション

JUnitイン・アクション

JUnit in Action

JUnit in Action

JavaScriptクックブック―高機能Webサイトのためのレシピ集

JavaScriptクックブック―高機能Webサイトのためのレシピ集

JavaScript Cookbook

JavaScript Cookbook

(これは原書タイトルも違う別の本だな.まぎらわしい.)
CJKV日中韓越情報処理

CJKV日中韓越情報処理

CJKV Information Processing: Chinese, Japanese, Korean, and Vietnamese Computing

CJKV Information Processing: Chinese, Japanese, Korean, and Vietnamese Computing

Hadoop

Hadoop

Hadoop: The Definitive Guide

Hadoop: The Definitive Guide

MySQLクックブック〈VOLUME1〉

MySQLクックブック〈VOLUME1〉

MySQL Cookbook

MySQL Cookbook

*5:

継続的インテグレーション入門

継続的インテグレーション入門

継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化

継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化

については和書も出た.

*6:コレもある意味で必読だあ.

*7:未だにアフィリエイトで儲かるとか,本気で信じてるのかな?アフィリエイトでどれだけ儲かるかなんて,考えたら分かるだろ.考えて分からない馬鹿でも,やってみたら分かるだろ.