Javaプログラマが必読の書籍:初心者からプロフェッショナルまで

Javaプログラマが必読の書籍:初心者からプロフェッショナルまで



[翻訳者注:「プロフェッショナリズム」の段階的な用語は、ロシア語への適切な翻訳が困難であり、通常のジュニア-ミドル-シニア-リードとの不一致のために英語のままでした。 翻訳は非常に無料です-言語に関する十分な知識がある場合、著者がアドバイスするように、オリジナルを読むことをお勧めします。 どちらの言語もネイティブではないため、PMのエラーについてお知らせください。修正します。 以下、角括弧で、翻訳者のメモ]



ここ数か月、初心者と経験豊富な開発者の両方に同じ本を推奨していることに気付きました。 そこで、これらの本のリストを作成することにしました。 彼らは私を初心者から今日のレベルまで成長させる過程で良い会社にしました(それが何であれ:)) 友達や同僚がリストの作成を手伝ってくれました。 Frank AppelRüdigerHerrmannBenjamin MuskallaRalf Sternbergに 感謝



リスト内の本の順序は、私の個人的な選択を反映しています。 必要に応じて変更してください:) 1つの重要なこと-このリストから本を購入する場合は、常に英語版を選択してください。 あなたの言語への翻訳があったとしても、ほとんどの場合、元のバージョンが最良の選択です。



初心者



Javaを理解し始めたばかりの場合は、まず言語の構文に精通する必要があります。 これには多数の本があります。 ほとんどの場合、これらの本の内容は非常に似ていますが、執筆スタイルは劇的に異なります。

Head First Java Java. A Beginner s Guide 5th Edition TDD


お勧めの本は2冊あります。 Head First Javaはカスタムですが、読みやすいです。 シリーズ全体と同様に、あなたはそれを愛することも愛さないこともできます(私は彼らを崇拝します)。 Java、A Beginner's Guideは、 Javaを完全に説明するより伝統的な本です。 構文と基本構造を十分に理解したら、次のステップに進む前に別の本を読むことをお勧めします(他のプログラミング言語についても同様です)。 テスト駆動開発 (Kent Beck著)では、EclipseSourceで使用するプログラミング手法について説明しています。 IMHO TDDは、各プログラマーのトレーニングに含める必要があります。



ジャーニーマン



すでに言語を知っているプログラマーであるJourneymanは、いくつかの小さなプロジェクトを作成しましたが、まだプロにはなりませんでした。 もちろん、私はあなたがこの声明に同意しないと確信しています(たとえば、同意しませんでした)。 しかし、この状態で5年後、あなたは同意するでしょう:)



Effective Java Pragmatic Programmer Design Patterns




言語の単純な知識では十分ではありません-あなたはそれらを深める必要があります。 これらの目的のために、ほとんどすべてのJava専門家がJoshua BlochによるEffective Javaを推奨します 。 別の本、 The Pragmatic Programmerは、メモのコレクションのようなものです。 プログラマーとして遭遇するトピックを詳細に明らかにしているので、必読です。 しかし、言語を知っていても、プログラムをうまく書くことはできません。 私の観点から見ると、プログラマーの長期的なタスクの1つは、アプリケーションアーキテクチャを正しく作成する方法を学ぶことです。 これらの目的のために、ギャングオブフォーによって書かれたデザインパターンブック [いいえ、これらはCCPの左翼ではありませんが、著者グループ(Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)の共通名]は良い出発点です。

Refactoring Clean Code OSGI in Action The Clean Coder


TDD(Beck著)によると、黄金律は赤、緑、リファクタリングです。 Martin Fowlerは、彼の本Refactoring Bookの最後のポイントを説明しています。 すべてのテストが成功し、コードを徹底的に作り直した後、「 Clean Code (Robert C. Martin)」という本を(少なくとも2回)読む必要があります。 はじめて、あなたはあなたのコードについて異なった考え方を始めることを確信しています(そして、それ以上のことはほとんどありません)。 このリストでは、OSG​​i in Actionが奇妙に見えます。 モジュール性がアプリケーション設計の最も重要な原則の1つだと思うので、ここに追加しました。 Javaプログラマは、OSGIを知っている必要があります。 覚えておいてください。少なくとも数年間はジャーニーマンの地位になるまで、プロフェッショナルになることはできないということをあなたは私に同意しないでしょうか? The Clean Coderを読んだ後、あなたを納得させたと確信しています。 ロバートC.マーティンは、初心者から専門家へと自分自身と彼の開発の道を書きます。 これは本当に本当の啓示です!



プロ



この文脈では多くの著者が使用するため、「プロフェッショナル」という言葉を使用します。 しかし、私はこの言葉を使ってプログラマーのレベルを説明するのは好きではありません。 「プロフェッショナル」は、すでにトップに達しているように聞こえます。 しかし、これは単に真実ではありません。 プログラマーは研究を終えることはできません[ただし、これは職業の83%に当てはまります]。 このカテゴリに入れた本は、単により高度なものです。 彼らは詳細を掘り下げたり、チームリーダーとしてあなたを訓練したりします。

Java Concurrency Working Eggectively with Legacy Code Productive Projects Teams Patterns of Enterprise Application Architecture


Javaでは、マルチスレッドを使用せずにかなりのことができます。 あなたがジャーニーマンの地位にある間、おそらくあなたはチームでこのトピックであなたを助けることができる人を持っているでしょう(まあ、はい、はい)。 しかし、遅かれ早かれ、自分でマルチスレッドを学習する必要があるときが来るでしょう。 Brian Goetzは、著書Java Concurrency in Practiceで素晴らしい仕事をしました。 プロになるということは、責任を負うことを意味します。 また、プログラマーであるため、これは古いコードを担当することも意味します。 Micheal Feathersは、この退屈なトピックについて、「レガシーコードで効果的ウォーキング 」でもう少し楽しく説明しました。 また、チームの責任を取ることができるはずです。 Tom DeMarcoとTimothy Listerは、 Peoplewareでこのトピックを明らかにしようとしました。そこでは、効果的なチームの仕組みと、そのようなチームの重要な特性について説明しました。 難しいトピックを説明することは非常に難しいタスクです。 これができる著者はほとんどいません。 Martin Fowlerは、 エンタープライズアプリケーションアーキテクチャのパターンで素晴らしい仕事をし、ソフトウェア設計プロセスを詳細に説明しました。



これらの本を気に入っていただけたことを願っています(または、まだ読んでいなければ気に入ることを願っています)。 リストに同意しない場合、または他の興味深い本を推奨できる場合は、コメントにメモしてください[著者に参加します。 また、元の記事へのコメントには、いくつかの興味深い本があります。 私が既に読んだリストの本は間違いなく価値があります。 さて、今は継続する良いリストがあります]



All Articles