古いJavaプログラミングの本を読むことは有益ですか?[閉まっている]


10

私のJavaの本の多くは5〜10年前のものです。それでもそれらを読むのに役立ちますか、それとも2年以内に何かを使うべきですか?


2
それを読むために費やされた返却時間がまだ時代遅れであるかどうかに依存します。また、最新の本を読むために使用される時間と比較する必要があります。
Sarawut Positwinyu 2011

回答:


26

本が言語自体に関するものである場合は、それをなくして新しいものを入手してください。

この本が主題(芸術、主題、分野、技術など)としてのプログラミングに関するものであれば、間違いなく読む価値があります。私が書いた最高のプログラミングの本は10年以上前に書かれました。


12
K&RはC自体に関するものであり、これはあなたが見つけようとしている最高のCブックだと主張することができます。
Vitor Py 2011

7
@Victor Bragaに同意します。それは本がいつ書かれたかではなく、言語がどれほど変化したかということです。Javaは過去5〜10年間で大きく変化しました。ただし、Cにはありません。5年前のJavaの本はほとんど役に立ちません。ただし、1978年のK&R Cブックの最初の版ははるかに最新です(100%正確ではなく、1988年の第2版も同様です)。主な要因は、本の出版から本を使用するまでの間に、言語とサポートツールがどの程度変更されたかです。
トーマスオーエンス

1
Smalltalkの本+1冊は30年前のもので、今でも貴重です。
KamilTomšík、2011

8

それは本とあなたが彼らから何を学びたいか、そしてあなた次第です。

古い本を読むべき商品の理由があります:

  • 彼らが新しい同等のものよりも優れた概念を教える場合。
  • 特定のテクノロジーではなく一般的な原則を教える場合。
  • 彼らが教えるテクノロジーがあまり変わっていない場合。

個人的に、私は私の古いプログラミング本のいくつかを保管しています。

  • 探しているものがどこにあるかがわかります。
  • 彼らの中に私の注釈があります。
  • 彼らは新しい本より私の記憶をよくジョギングする。
  • 新品よりも(明らかに)安くなっています。

たとえば、ZX81のユーザーマニュアル(1981年頃)には、直線描画アルゴリズムの優れた説明があります。それでも、それ以来読んだことよりも、私にはもっと理にかなっています。私はそれを何年にもわたって何度も実装の基礎として使用してきました。

そうは言っても、私は新しい本も読んだ。私は確かに暗黒時代に行き詰まりたくありません。


4

それらが良かったら、彼らが教える言語機能は変わっていません-それならなぜでしょうか!

1.2(またはJava 2)以降、Javaのファンダメンタルズはあまり変わっていないと思います。


6
それは、ファンダメンタルズをどのように定義するかによります。5〜10年前、ジェネリックス、オートボクシング、列挙、可変引数、for-eachループなどは、新しいか、まだ存在していませんでした。これらの機能により、Javaで良質で高品質、読み取り可能、保守可能なソフトウェアを作成する方法が根本的に変化したと思います。言うまでもなく、人々は自分でロールする必要があるため、多くの標準関数はカバーされません。5〜10年前の習慣や習慣を学んで、それを破って新しいテクニックを学ばなければならないのはなぜですか。
トーマス・オーエンス

5
@World Engineer-それは怖いです。12年前は1999年でした。つまり、Java 1.2がリリースされました。その後、RMIに変更が加えられ、JNDIがコアになり、assertキーワードが追加され、正規表現に変更が加えられ、NIOおよびロギングAPI、ジェネリックス、スキャナークラス、オートボクシング、列挙型、可変引数、およびfor-eachループが追加されました。AWT、Swing、JDBC、コンパイラとJITコンパイラの変更は言うまでもありません。その大学はその本を読む人に悪い癖を教えています。最初のコースに十分なリソースを使用できない場合、そのプログラムを卒業した人の価値を疑問視する必要があります
Thomas Owens

3
@トーマス彼は「オープニングコース」と言った。あなたがリストしたものは、おそらくforeach以外の入門コースでは教えられません。
ピート

2
@ピート私は、初年度のCSシーケンスの最初の2四半期(約1学期半)でジェネリック、スキャナー、列挙型、オートボクシング、およびSwingを使用または議論しました。
Thomas Owens

1
テキストは参照用であり、SwingとScannersは最初の週に登場しました。
ワールドエンジニア、

2

最高の電気工学の本(電子工学)の1つは20年以上前に書かれており、電気工学の分野は飛躍的に成長しましたが、おそらくあらゆる業界で最大の成長を遂げていますが、この本は今でも多くの人に知られています。単一の信頼できるテキスト。

本の例の多くは古く、新しいデザインに置き換えられていますが、この本はデジタル時計の作り方を教えることではなく、デジタル時計をどのように設計するかを教えることを目的とています。基本的なルールはまだ適用され、それが良い本であるならば、それは今では良い本です。

明らかに、古くてあいまいなAPIに関する本であれば、今日または近い将来には役に立たない可能性があり、おそらくなくてもそれを行うことができます。しかし、再びそのような本は何かを構築する方法を説明しているだけなので、その寿命は限られています。一般化された本を使い続けてください。

ソリューションの構築方法を説明する本ではなく、ソリューションの設計方法を説明する本を保管してください。どのメソッドが変更されたのかは明らかであり、それらの部分を単に無視することができますが、Cに関する優れた本は、まだ金の価値があります。


1
最初の部分は本当ですが、私は2番目の部分に同意しません。通常、Javaに関する本は、Javaで構築する方法を教えるものであり、最終的にJavaで実装されるシステムを設計するものではありません。また、比較的変化しない言語(Cなど)と、急速に変化する言語(Javaなど)を比較する場合にも問題があります。
Thomas Owens

2

古いテクノロジーに基づくレガシーシステム、特に古いJ2EEシステムで作業する場合は、古い本を参考にしておくと役立つ場合があります。私は、EJB 2.1または古いSwingコードを使用した古いコードに時々出くわすので、古いJ2EEブックを保管していました。

言語に大きな変更を導入した最後のバージョンのJavaは、2004年のJava 5でした。それ以降に書かれた本には、それらの言語の変更が組み込まれているため、一般的に読むことができます(さらに、新しい版が発行されていないこともあります)。ただし、それ以降、Javaエコシステムには多くの変化があったことに注意してください。たとえば、SpringフレームワークやMavenは、当時はそれほど普及していなかった広く使用されているテクノロジーです。


0

amazon.comにアクセスして、Javaの本を探してください。通常、本はほぼ同じですが、レビューを読むとどちらが良いかがわかります。私はいつもそのような本を選びます-レビューを読んでから、どの本を読むかを決めます。


-1

Java言語とJavaでのプログラミング方法については、これらの本の最新版があると便利です。たとえば、WeakReferenceクラスはJava 1.2のものであり、このクラスがJava SEに存在することさえ知らないプログラマーは多くありません。 、つまり、Javaの最新の本を読むことは最良のことです。これは一部のフレームワークにのみ有効ですが、この最新の本を理解するには、最新の本では得られない基本的な知識が必要ですが、最もおすすめの本と一緒に。Thinking in Java最新版は、Javaから始めるのに適した本だと思います

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.