2012-01-07 10 views
1

この質問はしばらくの間私の心に残っています。私は、私がやっていたいくつかのWeb開発と、いくつかの趣味のプログラミングのためにC + +を使用しました。私がそれに少し入ったのは、前にプレーンCを使っていたので、Web開発のためだった。全体として、私はC++をあまり使わない。JavaとC++のコーディングスタイルの具体的な違いは何ですか?

最近、私はJavaでより広範な作業を行ってきました。多くの人がC++とJavaは全く異なると言っています。「Javaのやり方」はC++でのプログラミングには適していません。これはまったく別の2つの世界であることを示しています。彼らは確かにfeelと違って機能が異なります。しかし、より具体的に言えば、人々はそれを何と言っているのでしょうか?

彼らはガベージコレクションについて話していますか?または、他の何か?

おかげ

+0

彼らは*すべて*について話しています。それは、C++とJavaの間で異なる全体的な考え方です。 – Xeo

+1

おそらく、プログラマーズ・スタック・エクスチェンジ・コムにお尋ねして最もうまくいきました。 – Perception

+1

@ Xeo:Haha。あなたのようなコメントはまさに私が言及していたものです。 :)私は異なる考え方を持っていますが、より具体的には、スタイルの違いは何ですか? – Hassan

答えて

2

主な違いは、Javaで、あなたが知らないことを、仮想環境(Java仮想マシン)上でプログラムを実行している、とあなたが深くアクセスすることを許可されていないということであるという事実によるものです。

これは明らかにプログラミングと効率のレベルに関する多くの違いを生み出します。

あなたはこの興味深いリンクをチェックすることができ、私が見つかりました:http://en.wikipedia.org/wiki/Java_performance

そして、このSOの質問:C++ performance vs. Java/C#

は、C++はあなたのプログラミングのより低いレベルのコントロールを持つことができます一般的な用語でいえばを。それは

  • をどのように動作するかがわからない
  • を開始したとき、あなたが知らない

    1. 例えばJavaのガベージコレクタは、あなたはそれが何をするか知らずにメモリを管理します。 。 。

    代わりにガベージコレクタモジュールを使用する場合は、メモリ割り当てを自分で管理する必要があります。そこ

  • +0

    はい、C++をユーザーアプリケーションに使用できます。それでも、人々は彼らが完全に異なっていることを示唆します。 – Hassan

    +0

    @Hassanが低レベルで動作していても、ユーザーアプリケーションをプログラミングできないというわけではありません... – Matteo

    +0

    "代わりにC++でメモリ割り当てを管理する必要があります。あなたは?私はC++でメモリ管理をしません。 –

    0

    それはそれらを一覧表示するウィキペディアに任せるのがベストだろうとJavaなどの高級言語とC++のような低レベルの言語間の非常に多くの具体的な違い: http://en.wikipedia.org/wiki/Comparison_of_Java_and_C%2B%2B

    私は強く増築をお勧めしますより良い理解を得るために両方のプロジェクトに参加してください。類似点は実際に構文で止まります。

    +0

    彼はC.ではなくC++について尋ねました。 –

    +0

    私が投稿したリンクはCではなくCにありました。 –

    +0

    私はC++を参照していたテキストを更新しました。 –

    2

    Thisの記事、thisのいずれかをお手伝いできます。実際に言語を使って作業する場合、C++がより使いやすくなり、Javaに比べてデータに対する自由度が増します。

    +0

    すばらしいリンク、ありがとう。 – Hassan

    関連する問題