プロになるJava-仕事で必要なプログラミングの知識がゼロから身につく最高の指南書
本書では、プログラミングを仕事にしたい、エンジニアとして働きたい方、およびほかの言語で開発しているが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の基礎をしっかりと習得していきましょう。
レビュー(10件)
Webアプリのコード例が最悪
別の言語を使っていたが、新たにJavaを覚える必要があり、Spring BootのWebアプリケーション開発の部分まで少し書かれていることに期待して購入。 ただし、章構成が一般的ではなく、わかりにくさを感じる。 オブジェクト指向の言語であるJavaの解説であれば、クラス、オブジェクトの概念や文法をしっかりと解説するはずのところ、始めの部分で急にレコードの説明を始めたと思ったら、クラスの解説はかなり後半まで出てこなかったりする。 また、IntelliJ IDEAの説明に紙面を割きすぎているとも思う。通常のコマンドでどのように行うか?の解説がほしいのに、あらゆる操作がIntelliJ IDEAのUIを使用した解説ばかりで、コマンドでの基礎が身につかない。 期待していたSpring Bootの章は、特に最悪。 簡単なWeb APIとHTML, CSSでWebアプリを作ることになるが、Web APIの設計がRESTの原則を完全に無視している。 ・DBへのデータ追加/変更/削除を行う場合では、Web APIは本来はPOST/PUT/DELETEといったHTTPメソッドでのリクエストを受けるべきだが、コード例では全てGETメソッドとなっている ・エンドポイント(URL)は、本来は「/tasks」というリソース名が書かれるべきだが、「/add」や「/delete」という命名のコード例が書かれており、リソースが意味不明になる Web APIに触れたことがある人であれば、一目でおかしい(保守性が悪い、バグを生むリスク)と思えるコードが平気で掲載されており、筆者(たち)のWeb APIに関する初歩的な知識が欠如しているか、原則を無視した雑な実装をする人たちなのだと思う。この内容で「プロになる」というタイトルはいささか過剰だ。 紙面の都合上でPOST/PUT/DELETEといった、他のHTTPメソッドの詳しい解説が載せられないのかもしれないが、それだとしたら断りがあるべきだが、一切説明がないままGETメソッドだけを頑なに使う。 動けばいい、という雑な考えの設計を行う筆者の書籍と思ったため、書籍全体の信頼性も疑問に思い始め、別の書籍を購入した。 この本での初学はおすすめしない。
全体として一貫性がないように思えます。最後まで読むのが力不足もあり、とても苦痛になってしまいました。
最初から最後まで実践的に必要なものをわかりやすく、不要なものは徹頭徹尾省いて説明するというコンセプトは素晴らしいと思いました。JShellを利用した説明は写経がやりやすいというのも初心者にはおすすめのポイントです。また、やや高度な話題がさり気なく散りばめられているので、何度か間をおいて読み返してみるのもよいかもしれません。 ただ、後半のツールの章とWebアプリケーションの章はコンセプトとして必要だということは分かるのですが、紙幅に対して扱う内容があまりにも重いため駆け足での説明になってしまっており、前半のわかりやすさが薄れてしまっており残念でした。これは、それら二章が不要ということではなくむしろ、山本氏と杉山氏にそれぞれの担当について別途一冊の本を出してもらいたいという意味での残念さです。 ところで、入門書としては出色の出来であることは間違いないと思いますが、初学者、初心者がこれ一冊「だけ」でいきなりプロになれるかというとさすがにそんなことはないと思います。必要なエッセンスは概ね網羅されているし、前述の通り高度な話題も散りばめられてはいますが、それらの大半を理解するにはある程度の経験とプログラミング以外の様々な知識も必要になろうと思われるからです。