• ベストアンサー

Java言語、C言語のメリット・デメリットについて

初歩的な質問で大変申し訳ございません。 これからC言語もしくはJava言語のどちらかを勉強しようと 考えています。 それぞれの言語において、使用する上でのメリット・デメリットは あるのでしょうか? どなたか教えていただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • thamansa
  • ベストアンサー率40% (95/232)
回答No.4

日々のPC作業にちょっと役立つプログラムが作れると、 学んだことがすぐ役立つのでやる気が維持できます。 C言語はその点でかなり不利です。ちょっとかじったくらいでは役に立つプログラムができません。 Javaも、実はパソコン上で「ちょっと」役立つ程度のプログラムにはあまり向いていないのですが、Cよりはマシかなと思います。 Windows上で、サクッと作れてちょっと役立つ、使いやすい言語としては、JavaScriptをHTAという仕組みで動かすことだと思います。 他にもVBAとか秀丸マクロとかありますが、今のところ私の経験ではHTAによるJavaScriptが一番手軽です。ただし、HTAについての解説がすくないのが難点ですが。 話がそれてしまいましたが、CかJavaならJavaです。

masy0312
質問者

お礼

ご回答ありがとうございます。参考にさせて頂きます。

その他の回答 (3)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

何をやりたいのかによって、どちらを選ぶべきかが変わってきます。 例えば、Eclipseのプラグインを作りたいとかであればJava以外の選択肢はほぼないと考えてよいでしょう。逆に、カーネルを開発したいのであれば、(C++ではなく)C言語以外の選択肢はまずないでしょう(アセンブラだけで作ることも可能ですが)。 今すぐ作るかどうか、できるかどうかではなく、目標をどこに設定するかで話が違ってきますし、それぞれの言語のメリット・デメリットの捉え方も違ってくるはずです。

masy0312
質問者

お礼

なるほどですね。ありがとうございます!

  • phusike
  • ベストアンサー率38% (29/76)
回答No.2

えーと、C/C++はポインタという初心者泣かせの概念があって、 分かってしまえば難しくはないんですが、 それでも初心者にとっては壁になりがちです。 Javaはポインタの概念は表には出てこないのですが、 それでも実は全く存在しないわけではなく裏側に隠れていて、 個人的には、だからこそ厄介なように思います。 ですから、C++でしっかりポインタの概念を掴んでから、 場合によってはJavaに移る方を私としては勧めます。 C++からJavaに移るのはそれほど難しくありませんし。 ちなみに、C言語はもはや「古い言語」であり、 初学者が学ぶのはあまり勧めません。 C++はC言語にクラスとテンプレートという2大機能を導入したものですが、 それだけでなく、細かいところが色々使いやすく改善されていますので、 クラスとテンプレートを使わないとすれば、 Cより学ぶのは楽だと思います。 C++とJavaの違いは、 まず1つにJavaがポインタの概念を表には持たないこと。 そのせいでC++ではメモリの管理を自前で行わねばならず、 若干面倒です。 (ある程度手間を軽減してくれるライブラリも、 C++を少し勉強すれば使えるようになりますが) そして第2に、Javaはオブジェクト指向であること。 C++もオブジェクト指向とよくいわれますが、 Javaよりは様々な考え方を許す言語であり、 その分使いこなすのが難しく、使いこなせば非常に便利です。

masy0312
質問者

お礼

具体的なご説明ありがとうございます。参考にさせて頂きます。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

特にないけど、初学者なら Java にしておきましょう。

関連するQ&A

  • perl PHP C++ それぞれのメリット、デメリット

    現在CGIを設置したく、勉強をはじめようとしています。 そこでperlとPHPのどちらにしようか考えていたところ、C/C++も使えると知り、基礎的なことだけですが経験のあるC++を使おうかどうか迷っています。しかし、それぞれのメリット・デメリットを知り、それを踏まえた上で使用言語を判断したいので、今回質問させていただきました。 それぞれの言語のできることやできないこと、速度などの違い、習得のしやすさ、柔軟性など、様々な観点からのメリットとデメリットを教えていただけると幸いです。 ちなみに、ただ掲示板なんかを設置したいというわけではなく、最終的には様々な用途に対応できるよう技術力を磨き勉強したいと考えています。 検索するとperlとPHPの比較はあっても、C++まで比較対象にいれてるサイトがなく、わからなかったので質問させていただきました。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • CとJAVA、どちらがいいでしょうか?

    プログラミングを始めようと思っています。 趣味としてゲームやソフトを作ろうと思っているんですが CとJAVA、どちらが推されているのでしょうか? または別の言語でもいいので、 薦められているものがあれば よろしくお願いしますm(_ _)m (できればメリットやデメリットを書いていただけるとうれしいです)

  • C言語とJAVA言語について

    一通りC言語を学習したのちで、最近JAVA言語をかじり始めたのですが、C言語とJAVA言語の違いが今一つ分かりません。違いをできるだけ多く、JAVA言語初心者である私に分かるレベルで教えてもらえないでしょうか。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • C言語:関数を使うメリットとデメリット

    C言語初心者の者です。 今度学校の授業で関数を用いるメリットとデメリットを挙げるのですが、全然思いつきません…10個も挙げなければならないのにorz どなたか親切な方、教えてくださると大変助かります! よろしくお願いします!

  • ゲーム作りたいがC言語かJAVAか迷う。

    私は将来、ゲーム・デザイナーになりたくて、プログラミングの勉強をしたいと思っています。それに向けて、学習するべき言語というのはCなのかJAVAなのかでまよっているのです。よくプログラミング言語など似たようなところがあり、ひとつの言語を身につければ他の言語も身につきやすいともいいますが、なるべく効率的に学んでいきたいですし、一番使用されることの多い言語を選びたいです。私が作りたいのは携帯電話用の比較的簡単なゲームでなく、ある程度大掛かりなというか、本格的なゲームを開発してみたいという思いがあります。これは特殊な例かもしれませんが、例えばコンピュータ将棋のプログラムなどではほとんどC、C++で開発されています。JAVAなどで作成されたソフトは見かけませんでした。やはり、JAVAの利点もあるでしょうが、結局、一番普遍的なというか、汎用性のあるプログラミング言語としてはC言語を選択するのが最良の策かなと考えています。これは妥当な筋道なのかとお尋ねしたく質問させていただきました。

  • C言語・Java言語 開発の上での違い

    C言語とJavaどちらを学ぼうか、悩んでいます。 会社で学ぶのですが、どちらを希望するかをこたえなければいけないのですが、 まだ2つのメリット・デメリットが分かっておらず。 希望しようにも・・・という状況です。 双方の良さと違いについて、わかりやすく教えていただけないでしょうか。 違いについては今まで見た中ではイメージがつきづらく困っています。 Cは組み込み系、JavaはWeb系だと認識しているのですが、開発するという姿勢ではその二つの違いもよくわかりません。 今から言語を学ぶとして、どちらが有望なのかも気になります。

  • C言語とJava言語について

    C言語とJava言語で作成されたソフトウェアの違いについて教えてください。

  • C#でできてC++でできないことは?(C#のメリットとは?)

    これから新しい言語として、C#もしくはC++の勉強をしたいと 考えています。 C#にできてC++にできないこと、あるいはその逆でC++にはできて C#ではできない。ということがあれば、教えていただけないでしょうか? 感覚としてはC++であれば何でもできるという感じではあるのですが、 C#を使うメリットってどんなことがありますか? やはり、ビジュアル開発(コントロールのDrag&Dropで画面開発ができる) の簡単さというところがC#でのメリットでしょうか? ちなみに私はこれまで、C -> VB -> Java といった順で言語を習得 してきました。

  • C言語 再帰処理のメリットとデメリット

    最近、C言語の関数にも再帰定義ができるということを初めて知りました。 そこで聞きたいのですが、再帰処理のメリット・デメリットは何でしょうか? 思いついたものとしては メリット … 簡単に表記できる デメリット … 無限ループが発生する可能性あり でしょうか。 また、全計算が終わるまでに、途中の演算結果を保持しなければならないので、 メモリを無駄遣いしそうな気もします。

  • C言語とJava

    C言語とJavaのそれぞれについて長所、短所を教えて下さい。

    • ベストアンサー
    • Java