web-dev-qa-db-ja.com

経験豊富なC ++開発者向けのJavaへの迅速な切り替え

私はオンラインチュートリアル/ブックを探しています。これは、OOP /デザインパターンの概念に関する確かな知識と、C++とJava)の違い(概念と構文の両方)に重点を置いていることを前提としています。後者の開発。よろしくお願いします。お時間をいただきありがとうございます。

25
MadH

私はC++からJavaに移行しました。6年前にBlochが使用した「EffectiveJava」です。これは、さまざまなJavaクラスとテクニックの最適な使用方法を50の短い記事で説明するスタイルブックです。 。これは、Meyersの「EffectiveC++」やSutterの「ExceptionalC++」と非常によく似ています。

すでにC++とオブジェクト指向プログラミングを知っていて、Javaを読むことができる場合、これは高品質のJavaコードを書くための最速の方法です。

現在、ジェネリックスなどを含む新版が出ています。私の考えでは、この本はすべてのJavaプログラマーだけでなく、Javaを学びたい人にとっても不可欠です。

14
iain

Javaチュートリアル

それは最新に保たれ、よく書かれています。 ハードコピー でも利用できます。

私は常に「XからYへの変更」ガイドに懐疑的です。後で参考になるかもしれませんが、別の言語から新しい言語を学ぶことは、あなたが思っているよりも難しいかもしれません。

「設計どおり」に新しい言語を学び、この言語で「正しい」ものへの道を感じ、そのコードイディオムを学ぶことが重要だと思います。

Javaの潜在的な落とし穴についても学びたい経験豊富なプログラマーのための良い本として、私は Effective Java をお勧めします。

6
Gerd Klima

O'Reillyの「HeadFirst」の本は非常によく書かれています。 Head First Java とHead First DesignPatternsを見てください。

3
mip

頭からのJavaは避けてください。信号対雑音比が低いです。一言で言えば良いですが、言語のように巨大になっています。

2

Javaが新しくなったとき、1996年頃にこの移行を行いました。本は間違いなく役に立ちます。私は Laura Lemayの21日間の本 を使用しました。これは現在rev6までです。 。元の本を読み終えるのに3日かかり、完全に精通していると感じるまでにさらに1週間かかりました。

慣れる事:

  1. 言語は巨大ではありませんが、サポートライブラリは巨大です。おそらくあなたが望むことをする何かがすでにあります
  2. ガベージコレクションと適切なメモリ管理は素晴らしいです。私のバグ数は、C++と比較してJava
  3. ガベージコレクションと適切なメモリ管理は最悪です。私はパフォーマンスが重要なアプリケーションを作成していましたが、(当時)誰かを殺して、新しい配置やオペレーターの新しいオーバーロードに似たものを取得していました。
  4. ガベージコレクションは、一般的なリソースコレクション(つまり、開いているファイルなど)ではありません。あなたはまだそれについて心配する必要があります。
  5. 統合されたマクロプリプロセッサを持っているのを本当に逃しました。もちろん、それでも使用できますが、ビルドがさらに複雑になります。
2
plinth

経験豊富なC++開発者の場合は、 JavaチュートリアルGerd Klimaが言及 ))をざっと読むことをお勧めします。 Java APIドキュメント を開いて、足を先にすぐにジャンプします。

1
Thomas Owens

Amazonには「 Java for C++ Programmers "」を扱った本がいくつかあります。

0
Adrian Grigore

あなたは間違いなく本を必要とします、そしてそこにはたくさんあります。

それ以外に役立つのは、IMHOのチートシートです。これは、印刷してモニターの横に置くことができます。あなたがものを学ぶとき、あなたはそれらをシートに加えることができます。

特にC++プログラマー向けのカップルを次に示します。

0
JRL

私がこれを(ある種の)行ったとき、私はO'Reillyの 一言で言えばJava を使用しました。今では「Javain インターモーダル輸送コンテナ 」のように見えるので、おそらくもうそれほど速くはありません。それでもまともだと思いますが、最近は参考資料になっていると思います。

0
unwind