ISBN 9784297126858
プロになるJava-仕事で必要なプログラミングの知識がゼロから身につく最高の指南書
概要
Java 17世代の文法と現場の周辺ツールを一冊で通して学ぶ入門書
この本で身につくこと
- JShellとIntelliJ IDEAを使い、値・型・変数といった基礎から対話的にJavaコードを書き始められる
- switch式・レコード・var型推論など、Java 17世代のモダンな文法で日常的なコードを書ける
- Stream APIとラムダ式を使った関数型スタイルのコレクション操作を、従来の手続き型と対比しながら使い分けられる
- クラス・インタフェース・継承を「差分プログラミング」と「データの分類」という観点で整理して扱える
- Maven / JUnit / Javadoc / Git といった現場で必須の開発ツールの最低限の使い方を押さえられる
- Spring Boot + Spring JDBC + H2 を用いて、簡単なWebアプリケーションとDB連携まで一通り体験できる
想定読者
これからエンジニアを目指す初学者、および他言語で開発経験がありJavaを新しく習得したい現役エンジニア。完全な未経験で独学するにはやや歯応えがあるが、Progateや他書で文法の触りを済ませた後の「2冊目」として位置づけると効果が高い一冊。
外部の評価
- 発売1か月で第2刷が出るなど、Javaの最新入門書として広く受け入れられた書籍。
- フューチャー技術ブログの読書感想では、「文法やAPIだけでなく、テストやGit、Spring Boot、DBまで含めて現場に入るまでに知っておきたい知識がバランスよく記載されている」点と、冒頭の「わからないところは飛ばしましょう」という姿勢が評価されている。
- Zennのレビュー(ababup1192氏)では、JShellを軸にオブジェクト指向を前面に出さず段階的に積み上げる構成や、手続き型と関数型を両方学ばせる方針が、他の入門書との違いとして挙げられている。
- Qiitaの読者感想では、「最後までやるとWebアプリが動くところまで辿り着く実践形式」「Java経験者でもIntelliJの使い方や最近のJava機能で学びがある」という声が見られる一方、章構成が一般的でなくクラスの本格解説が後半に来る点や、IntelliJ説明の比重、Spring BootのWeb API設計がRESTの原則には必ずしも沿っていない点への指摘もある。
学習のヒント
- 冒頭で明言されている「わからないところは飛ばしましょう」の姿勢を素直に取り入れる。特に第3部のStream/ラムダや第4部の関数型インタフェース周辺は、初読で全部理解しようとせず、動かす→戻る、の周回読みが向いている。
- JShellでの対話的な動作確認と、IntelliJ IDEAでのプロジェクト開発を両方手を動かして試すことを前提にした本。読むだけで済ませず、必ずエディタ上で同じコードを再現すること。
- クラス・継承は後半(第4部)まで本格的には出てこない。他書に慣れていると順序が奇異に感じるが、著者の意図を信じて順番通りに進めた方が結果的に定着が早い。
- 第5部(Maven / JUnit / Git)と第6部(Spring Boot)は、現場に出る前の「最低限の装備」にあたる。Javaそのものだけを学びたい人も、この2部だけは飛ばさずに通すと実務移行が大きく楽になる。
読む前の前提
- 何らかのプログラミング言語で、変数・条件分岐・ループ・関数を書いた経験(完全な未経験だと詰まりやすい章がある)
- コマンドライン(ターミナル)で簡単なコマンドが打てること
- JDKとIntelliJ IDEAをインストールできるPC環境(Windows / macOS / Linux)
次のステップ
- Effective Java: 本書で書けるようになったJavaコードを、現場水準の設計判断に引き上げる定番書。イディオムとアンチパターンを体系化しており、「プロになるJava」の次の標準ルートとして挙がることが多い。
- Spring徹底入門 / Spring Boot実践入門系: 第6部でSpring Bootに触れた後、Webアプリ開発を本格化するためのフレームワーク側の深掘り。
- リーダブルコード / テスト駆動開発: 本書の第5部で導入されるJUnit・テスト自動化の感覚をさらに伸ばし、実務でのコード品質とレビュー文化に接続するための補完読書。
関連記事・言及記事
- フューチャー技術ブログ「『プロになるJava』読書感想文〜新人の頃の気持ちで最近のJava入門書を読む話」(future-architect.github.io/articles/20220422a/)
- Zenn「[献本いただきました] プロになるJavaでプロになるには」(zenn.dev/ababup1192)
- Qiita「『プロになるJava』でJava入門したい人へ」(qiita.com/owork)
- Qiita「『プロになるJava』を読んで」(qiita.com/kntr0116)
- 技術評論社 書誌ページ(gihyo.jp/book/2022/978-4-297-12685-8)
編集: book-enricher agent / sources: gihyo.jp 書誌ページ / フューチャー技術ブログ / Zenn / Qiita 読者感想記事
出版社による内容紹介
本書では、プログラミングを仕事にしたい、エンジニアとして働きたい方、およびほかの言語で開発しているがJavaも使えるようになりたいという方を対象に、Javaでプログラミングができるようになるための解説をわかりやすく丁寧に行います。 Javaは、企業システムの構築を得意とするプログラミング言語で、銀行でお金を振り込む、宅配便で荷物を送るといった業務システムで多く使われているほか、検索サイトやSNS、買い物サイトなどサービスの構築でも広く使われています。多くの業務システムで利用されており、Javaプログラマーの人材募集も多いことから、Javaエンジニアになりたい人も比較的多いという状況があります。本書では、そうした中でプロとしてJava開発に携われるようになるために必要なプログラミングの知識をゼロから解説しています。Javaをすでに使っているがもっとプログラムをきちんと書けるようになりたいという人にもおすすめです。 多くの「プログラミングの入門書」では、プログラミング言語の構文は丁寧に解説されていますが、プログラムの書き方の説明はあまりありません。本書ではJavaを対象として、プログラミングに入門できるように解説しています。プログラムを作るという体験を通して、プログラムが動くことの楽しさやまた難しさを感じてもらえることを目標としています。自転車に乗れるようになるために何が必要かというと、自転車のパーツの名前や働き、原理を知ることではありません。自転車に実際に乗って、何度かこけそうになったりこけたりして、徐々にうまく乗ることができるようになるものです。プログラミングも技能なので、文法を覚えてライブラリの使い方を知るだけではプログラムが組めるようにはなりません。実際にプログラムを組んで、動かなかったり動いたりしながら徐々にうまくプログラムが組めるようになります。本書ではこうしたプログラムの組み方をわかりやすく解説します。 本書では、第1部「Javaを始める準備」では、Javaの基本および開発環境のインストール方法について解説します。第2部「Javaの基本」では、JShellを使って基本的な計算や変数、標準API、GUI開発について解説します。第3部「Javaの文法」では、条件分岐と繰り返し、データ構造、メソッドについて解説します。第4部「高度なプログラミング」では、ファイルやネットワークでの入出力と例外、処理の難しさ、クラスとインタフェースを使ったプログラムの構成について解説します。第5部「ツールと開発技法」では、Maven、Javadoc、JUnit、IDE、バージョン管理、Gitについて解説します。第6部「Webアプリケーション開発」では、Spring Bootやデータベースを用いたWebアプリケーション開発について解説します。 本書で、プロとして仕事ができるためのJavaの基礎をしっかりと習得していきましょう。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。