見習いJavaプログラマ向け10冊+α(2014年版)

http://d.hatena.ne.jp/JavaBlack/20101203/p1 の焼き直し.

とくにピアソン桐原の撤退の影響が大きい.*1


前回と同じく,あくまで一例であることは断っておく.

プログラミング言語 Java 第4版

プログラミング言語 Java 第4版

定番Java言語解説書.ピアソン桐原撤退の時には一度絶版になって泡食ったが,他社より再出版されたので一安心.

EFFECTIVE JAVA 第2版 (The Java Series)

EFFECTIVE JAVA 第2版 (The Java Series)

Javaプログラマー必読書の一つ.ピアソン桐原撤退の時には一度絶版になって泡食ったが,他社より再出版されたので一安心.

Effective Java (3rd Edition)

Effective Java (3rd Edition)

追記.第三版も予定.

Java Cookbook: Solutions and Examples for Java Developers (English Edition)

Java Cookbook: Solutions and Examples for Java Developers (English Edition)

Java Cookbook: Solutions and Examples for Java Developers

Java Cookbook: Solutions and Examples for Java Developers

新しく追加.

これを書いた時点ではまだ出版されてないが,定番書籍の第三版なので問題はまずないと思われる.*2

洋書だがソースコードとその解説なので英語が苦手な人の英語技術書入門としても良いだろう.米O'ReillyなのでKindle化されるだろうし,使い勝手を考えるとKindleでの入手もお勧め.洋書なのでPC版でも使用できるだろう.*3 *4

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

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

Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series) (English Edition)

Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series) (English Edition)

OOPプログラマーの必読書.通称GoF本.

初版は1994年だが,未だに古さを感じさせないロングセラーの一つ.*5 *6

プログラミング作法

プログラミング作法

プログラミング入門書.プログラミングのやり方を学んだことの無い人だと一度通して読んでおいた方が良いだろう.

追記.

プログラミング作法 (アスキードワンゴ)

プログラミング作法 (アスキードワンゴ)

プログラミング作法

プログラミング作法

表紙が変わってるが中身は同じ.

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

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

プログラミング及びその周辺に関するエッセイ集.特に初心者は一通り目を通す価値はある.

プログラマのためのサバイバルマニュアル

プログラマのためのサバイバルマニュアル

New Programmer's Survival Manual: Navigate Your Workplace, Cube Farm, or Startup (Pragmatic Programmers)

New Programmer's Survival Manual: Navigate Your Workplace, Cube Farm, or Startup (Pragmatic Programmers)

http://d.hatena.ne.jp/JavaBlack/20120505/p1
新規追加.プログラミング周辺のあれやこれや.

入門 データ構造とアルゴリズム

入門 データ構造とアルゴリズム

アルゴリズムとデータ構造はプログラミングの基礎.既に学んだ事のある人には不要だが,そうでない人は一冊くらい読んどけ.

他に

も,定番教科書として有名.
http://d.hatena.ne.jp/JavaBlack/20110923/p1

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

数少ない(もしくは唯一の?)日本語で書かれたJUnit入門書.

実践 JUnit ―達人プログラマーのユニットテスト技法

実践 JUnit ―達人プログラマーのユニットテスト技法

追記.

これを追記した時点ではまだ出版されてないが,JUnitテスト本として重要な候補の一つになりそう.

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

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

アジャイル開発本.なかなかの良書.今は大丈夫だが,一時期は絶版だった.


ちなみに10冊であることには,あんまり深い意味はありません.だいたい過不足なく厳選できる数としてキリの良い数字だったから程度.

その他

すぐにはムリでも,いずれはこういう本にも目を向けてもらいたい.

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

  • 作者: マーチンファウラー,Martin Fowler,児玉公信,平澤章,友野晶夫,梅沢真史
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/05
  • メディア: 単行本
  • 購入: 94人 クリック: 3,091回
  • この商品を含むブログ (312件) を見る
Refactoring: Improving the Design of Existing Code (Addison-Wesley Object Technology Series) (English Edition)

Refactoring: Improving the Design of Existing Code (Addison-Wesley Object Technology Series) (English Edition)

定番書籍の一つだったが,ピアソン桐原の撤退により絶版

他社からの再出版もされなかったため中古価格も高騰しており,和書での入手は絶望的.


追記

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

なんと再出版された.

Java Puzzlers 罠、落とし穴、コーナーケース

Java Puzzlers 罠、落とし穴、コーナーケース

Java™ Puzzlers: Traps, Pitfalls, and Corner Cases (English Edition)

Java™ Puzzlers: Traps, Pitfalls, and Corner Cases (English Edition)

Javaの重箱の隅をつつくパズル本.とても面白い本なのだが,ピアソン桐原の撤退により絶版.いっそ洋書で読んでみるのもお勧め.

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

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

Java Concurrency in Practice: JAVA CONCURRENCY PRACT _p1 (English Edition)

Java Concurrency in Practice: JAVA CONCURRENCY PRACT _p1 (English Edition)

マルチスレッド/並列プログラミングをするなら必読書.ただし現時点ではピアソン桐原とは無関係だけど絶版の模様.過去にも何度か絶版になった時期がある.やれやれ.
他に「The Art of Multiprocessor Programming 並行プログラミングの原理から実践まで」も有名だが,上級者向けなので初心者は手を出すべきじゃない.

デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)

デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)

オブジェクト指向とその原理原則に関する良書だったが,ピアソン桐原の撤退により絶版
オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)

オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)

再出版された.

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件) を見る
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ In-Depth Series) (English Edition)

C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ In-Depth Series) (English Edition)

C++用だが,Javaプログラマーが読んでも参考になる.

ピアソン桐原撤退により絶版.中古価格も高騰気味なので,これから入手する必要性は低い.洋書なら普通に入手可能.


以上のように,和書では名著でも絶版になるのは珍しくない.*7良いと思った書籍は見つけた時に確保しておくか,さもなくば英語で読めるようになっておくかした方が良いだろう.
http://d.hatena.ne.jp/JavaBlack/20111231/p2

APIデザインの極意 Java/NetBeansアーキテクト探究ノート

APIデザインの極意 Java/NetBeansアーキテクト探究ノート

初心者向けではないが,中級以上にステップアップするなら必読かと.Kindle版もあり.

Java 7 New Features Cookbook (English Edition)

Java 7 New Features Cookbook (English Edition)

Java 7 Concurrency Cookbook (Quick Answers to Common Problems) (English Edition)

Java 7 Concurrency Cookbook (Quick Answers to Common Problems) (English Edition)

Java EE6 Cookbook for Securing, Tuning and Extending Enterprise Applications (English Edition)

Java EE6 Cookbook for Securing, Tuning and Extending Enterprise Applications (English Edition)

Spring Recipes: A Problem-Solution Approach (Expert's Voice in Open Source)

Spring Recipes: A Problem-Solution Approach (Expert's Voice in Open Source)

各種クックブック/レシピ本.書き方が分からなくてサンプルコードを当たる時は,ググるよりもこの手の本を調べた方が何倍もマシ.洋書ならかなりニッチなレシピ本があったりする.

Java Performance (Java Series) (English Edition)

Java Performance (Java Series) (English Edition)

パフォーマンス本.良書/名著の類だが,初心者に必要な物でも無い.

類書.

Javaパフォーマンス

Javaパフォーマンス

追記:和訳も出た.

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

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

  • 作者: スコット・W・アンブラー,アラン・バーミューレン,グレゴリー・バンガードナー,エルドン・メッツ,トレバー・ミスフェルト,ジム・シュー,パトリック・トンプソン,滝沢徹,牧野祐子
  • 出版社/メーカー: 翔泳社
  • 発売日: 2009/01/30
  • メディア: 単行本(ソフトカバー)
  • クリック: 8回
  • この商品を含むブログ (15件) を見る
コーディング規約+α.読まなくても問題ないけど,一度くらい目を通しておいても悪くない.

原書の評価は非常に高かったのだが,和訳が出るまでに随分時間がかかって,和書が出た時には若干古くさくなっていたのが残念だ.

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

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

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

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

xUnit Test Patterns: Refactoring Test Code

xUnit Test Patterns: Refactoring Test Code

Effective Unit Testing: A guide for Java developers

Effective Unit Testing: A guide for Java developers

パーフェクトソフトウエア

パーフェクトソフトウエア

http://d.hatena.ne.jp/JavaBlack/20130910

テストから見えてくるグーグルのソフトウェア開発

テストから見えてくるグーグルのソフトウェア開発

ビューティフルテスティング ―ソフトウェアテストの美しい実践 (THEORY/IN/PRACTICE)

ビューティフルテスティング ―ソフトウェアテストの美しい実践 (THEORY/IN/PRACTICE)

テスト本.洋書なら他にも多数.
http://d.hatena.ne.jp/JavaBlack/20120602/p2

プログラマのためのSQL 第4版

プログラマのためのSQL 第4版

RDBMS本というよりはSQL言語本.DBとSQLが必要な人にはお勧めだが,そうでない人には無用の長物.

SQLアンチパターン

SQLアンチパターン

SQLのパターン本.以下同文.

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

可読性に関する良書.

Code Complete (Developer Best Practices) (English Edition)

Code Complete (Developer Best Practices) (English Edition)

定番書籍の一つだが,サイズと価格がネック.英語が分かるなら洋書Kindle版で買えば安い.

はじめてUNIXで仕事をする人が読む本 (アスキー書籍)

はじめてUNIXで仕事をする人が読む本 (アスキー書籍)

パラパラめくった感じでは内容はかなり軽め.とはいえ,本当にまだ一度もUNIXを触ったことが無い人だと,このくらいの方がちょうど良いかもしれない.

逆に鯖缶やるなら全然足りなくて,たぶん他にも何冊も必要になってくるんじゃないかと思う.

入門 GNU Emacs 第3版

入門 GNU Emacs 第3版

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

番外

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

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

http://d.hatena.ne.jp/JavaBlack/20131222/p1

http://d.hatena.ne.jp/JavaBlack/20120815/p1
http://book.akahoshitakuya.com/b/4048868535

http://el.jibun.atmarkit.co.jp/pressenter/all_entrylist.html

電子書籍Kindle

Kindle Fire HD 8.9 16GB タブレット(第2世代)

Kindle Fire HD 8.9 16GB タブレット(第2世代)

Amazon Kindle PowerFast急速充電器(9W)

Amazon Kindle PowerFast急速充電器(9W)

IT技術者は参考書に洋書も多いので,今後は電子書籍もガンガン使っていくべきだと思う.IT関係の技術書を読むには9〜10インチサイズでないと厳しいので,6インチのPaperwhiteよりはFire HD 8.9の方を勧めてる.しかし価格と重さの点ではPaperwhiteより劣るのが難点.AndroidタブレットiPadKindleアプリをインストールするのも可.

なお容量に関しては,固定レイアウトの書籍中心で使うのでない限りは2〜4GBくらいで十分.後は他のコンテンツをどれだけ入れるかの問題.

固定レイアウトだと,一桁増えるのかな...自分は固定レイアウトの本だったら基本買わないけど.

補足:糞本について

  • id:cheapcode オブ脳本が無いじゃないか。このリストはダメだな。

オブジェクト脳のつくり方―Java・UML・EJBをマスターするための究極の基礎講座

オブジェクト脳のつくり方―Java・UML・EJBをマスターするための究極の基礎講座

これ?
これは憂鬱本と並ぶ超糞本ですので,お勧めするわけがありません.


憂鬱なプログラマのためのオブジェクト指向開発講座 (DDJ Selection)

憂鬱なプログラマのためのオブジェクト指向開発講座 (DDJ Selection)

プログラミングのセオリー

プログラミングのセオリー

これらも超糞本.初心者のみなさん. こんな糞本は絶対に買ったらダメですよーーーーーー!

*1:http://d.hatena.ne.jp/JavaBlack/20130808/p1

*2:第二版.

Java Cookbook

Java Cookbook

*3:Win XP/Vista/7版,Win8版,Mac版でそれぞれ別. http://www.amazon.com/gp/feature.html/?docId=1000493771

*4:この頃のKindle for PCは日本語書籍に非対応だったので,「洋書なので〜」の注釈が入ってた.対応した今では気にする必要は無い.

*5:というかだな,未だに「GoFって何?デザインパターンシラネ」な人の多いこと...orz

*6:ところでロングセラーを知る指標の一つとして,米Amazon.comKindle書籍の価格というのを挙げておこう.たとえばEffectiveJavaが$34.43,Design Patternsが$37.20だ.発行年度を考えれば,この価格は異常に高い.それだけ評価が高いということの証.
Amazonの値付けが適性であるという前提だけどね.だいたい当たってるので問題はない.

*7:現在の状況はピアソン桐原の撤退の影響がでかいけど,ピアソンで起きるなら他の出版社で起きても不思議はない.