• 締切済み

プログラミング言語の質問です。

プログラミング言語の質問です。 プログラミング言語を今から勉強しようと思います。 そこで、オブジェクト指向の言語として(というより、今の社会で役立つ言語として)習うべきなのはどの言語でしょうか? 私は候補として、javaとC++を知っていますが、どう違うのかは分かりません。 どちらもCからの派生みたいなことは知っています。 そこで、javaとC++を比較して (1)どう違うのでしょうか?(できることの違い) (2)どちらの方がより優れていると思いますか? 今のところjavaとC++を考えていますが、他の言語の方が良いなら教えてください。 その他、プログラミング言語に関して知っておいたほうが良いことがあれば、 ぜひ教えてください。 回答よろしくお願いします。

みんなの回答

回答No.1

>(1)どう違うのでしょうか?(できることの違い)  Javaは実行ファイルが仮想マシン上で動くので比較的機種依存を考えなくて、マルチターゲットで開発できる。自動的なガベージコレクションを備えているのでメモリの管理が楽。ただし、仮想マシンの環境が必要なのでソフトの動作環境が限られる。  C++はターゲット向けに最適化された実行ファイルを作るので対象マシン以外では動かないが、その代わりシステムに深く入り込んだ作り込みが出来る。基本的にガベージコレクションは自分で行う必要がある。仮想マシン等の環境は(場合によってはOSも)不要なので、どんな環境でも動くものが作れる。  オブジェクト指向という点では、Javaはクラスをベースに開発するのがデフォルトだけど、C++はクラス無しでも開発できてしまうので要は開発者の作り方次第ということになる。 >(2)どちらの方がより優れていると思いますか?  手続きの簡単さとか、汎用的なソフト開発が出来るという点ではJava。  動作速度とか知識と技術次第で何でも作れるという点ではC++。  ま、世の中には2通りのソフト開発者がいて、片方は楽な開発環境に慣れると面倒な開発環境では開発できなくなる。もう片方は面倒でも好きなことができる開発環境に慣れると楽でも出来ることの限られる開発環境では何もやる気が起こらなくなる。  どっちが自分に適してるのかということを十分考えて選べば良いかと。「社会に役立つ」というのはどんな仕事をするかであって、言語とは関係ないでしょう。

関連するQ&A