LoginSignup
54
89

More than 5 years have passed since last update.

Javaから職業プログラマをスタートするプログラミング初心者に読んでほしい技術書たち(2017年版)

Last updated at Posted at 2017-02-24

概要

新入社員に「何から勉強すればいいですか」と言われたら、「とりあえず基本情報の資格を取りましょうか」と答えるようにしている。
資格不要論も根強いが、個人的にIPAの資格試験は全体的に良くできていると思うし、真面目に勉強すればその分得られるものも多いと思っている。

ただ、それだけでは即効性がないというか、目の前の仕事が楽にならないのも事実。

幸いJavaの書籍は数多くあり学ぶ材料には事欠かないが、多すぎるあまり「どれから手を付ければ…」という気持ちになるのも分かる。(今さらJavaの本を紹介するのもどうかと思ったが、今だからこそ必要な気もする)

そこで、これまでJavaやオブジェクト指向の本を読み漁ってきた自分が、入社1、2年目あたりで読んで良かった本、もしくは読むべきだったと今感じている本を紹介する。

おすすめ書籍

Javaの文法

『Java言語プログラミングレッスン 第3版(上)・(下)』結城浩 / SBクリエイティブ

まずは基本的な文法を知らないと何も始まらない。自分の場合は結城さんの本を選んだが、実際入門レベルではどれもだいたい同じことが書いてあるので、立ち読みして自分にあったものを探そう。

Amazonのレビュー的には「スッキリわかる」シリーズが人気。

UML

『UML モデリングのエッセンス 第3版』マーチン・ファウラー / 翔泳社

薄いのでさらっと読める。

UMLは仕事でも使うだろうし、このあと紹介する書籍の中でもバシバシ登場する。
勉強しなくてもUMLはなんとなく読めてしまうが、はじめに正しく理解していたほうもちろん良い。

デザインパターン

『Head First Design Patterns』Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra / Oreilly & Associates Inc

自分は英語で原書を読んだが、翻訳もでている。(翻訳の質については知らない)
英語でも読みやすい文章だったと記憶している。

もっともわかりやすいデザインパターンの入門書だと思う。

amazon.comでのレビューも528件付いて星4.5なので相当なものだ。何だったか忘れたが有名なJavaの本で、デザインパターンのおすすめ書籍でGoF本を差し置いて、この本をすすめていたのを覚えている。

『Head First』シリーズは、Java、SQL、ネットワークあたりを読んだが、どれも良かった。

『増補改訂版Java言語で学ぶデザインパターン入門』結城浩 / SBクリエイティブ

(ソフトウェア開発における)デザインパターンの原点である『Design Patterns: Elements of Reusable Object-Oriented Software』(翻訳版は『オブジェクト指向における再利用のためのデザインパターン』。通称GoF本)を10段階くらい嚙み砕いて読みやすくしたもの。

いきなりこの『Java言語で学ぶデザインパターン入門』を読んで、内容が難しすぎて分からないってこともないとは思うが、この本はあくまでデザインパターンのカタログであって、「なぜデザインパターンが必要なんだろう」という疑問は残るし、きっと飽きてくる。

まずは『Head First Design Patterns』で軽くデザインパターンに触れておくと、その必要性が分かるため、理解が進みやすいはず。『オブジェクト指向のこころ』もデザインパターンのユースケースがいろいろ登場したと思うので、そちらでも。

オブジェクト指向

『アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技』ロバート・C・マーチン / SBクリエイティブ

今回紹介する本の中では、難易度が少し高いかもしれない。

内容は最高なので、繰り返し繰り返し読んで、少しずつでいいから身につけていきたい。

コーディング

『新装版 リファクタリング―既存のコードを安全に改善する―』マーチン・ファウラー / オーム社

読みやすく保守性の高いコードを書くための道標。
この本に登場するリファクタリングの対象となるようなコードを書かないように努めることで、自然と良いコードに書けるようになっていく。

同じジャンルで『リーダブルコード』もおすすめ。

SQL

『SQL 第2版 ゼロからはじめるデータベース操作』ミック / 翔泳社

RDB(リレーショナルデータベース)を全く使わずに開発することは稀なので、SQLの基本は知っておきたい
この本は入門書としての完成度が非常に高く、基本はこれ一冊でOK。

さらに深めたい人は、『達人に学ぶSQL徹底指南書』からの『プログラマのためのSQL』がおすすめ。

ただし、そこまで行く前に、正規化等のテーブル設計を学んだほうが良いだろう。

フレームワーク

業務で使うものを学ぼう。会社の先輩に聞けば何か教えてくれるはず。

Springであれば、『Spring入門』がおすすめ。

マルチスレッド

『Java言語で学ぶデザインパターン入門 マルチスレッド編』結城浩 / SBクリエイティブ

この分野の入門書は少ない中で、基礎から丁寧に説明してくれている。

さらに深く知りたい人は、『Java並行処理プログラミング』へどうぞ。(翻訳版は絶版かもしれない)

最後に

「1、2年目で読んでほしい」というくくりで紹介したのであぶれてしまったが、内容的に素晴らしくいずれは読むべき本を最後に挙げておく

  • 『EFFECTIVE JAVA』Joshua Bloch / 丸善出版
  • 『オブジェクト指向における再利用のためのデザインパターン』Erich Gamma, Ralph Johnson, Richard Helm, John Vlissides / ソフトバンククリエイティブ
  • 『エリック・エヴァンスのドメイン駆動設計』Eric Evans / 翔泳社
54
89
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
89