- ベストアンサー
CとJava、どちらが難しい?
みなさんこんにちは。 自分は現在、理系の学部に所属している大学二年生ですが、今学期からプログラミングの授業が始まります。 そこで、CとJavaのどちらかを選択しなければならないのですが、どちらの方が難しいのでしょうか? 自分はプログラミングは全くの未経験です。 とりあえず単位の取りやすい、簡単な方を選ぼうと考えています。 アドバイスよろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
難しいという視点からだと、どちらが難しいかと言うのは、 勉強する人の感覚で差が出ますので、何とも言えませんが、言語仕様の大きさという点で比較すると、C言語より、 Javaの方が大きいです。 本屋さんで、次の二冊の本を見比べてみると言語仕様の 規模の差が分かると思います。 (単純にページ数で比較しても、なんとなく想像が付くと思います。) 「プログラミング言語C」 http://www.bk1.co.jp/product/1051132/p-bk1tk47886 「プログラミング言語Java」 http://www.bk1.co.jp/product/2038395/p-bk1tk47886 言語仕様の規模は、Javaの方が大きいですので、 一見、勉強する事が多そうに見えますが、 Javaの方が後から出来た言語の為、便利な機能が 豊富に用意されています。 そのおかげで、実際のプログラムの作成では、 Javaの法が楽という事もあります。 取り敢えず、本屋さんに行って、立ち読みをしてみて、 自分に分かり易そうな本が沢山ある方の言語を選ぶと いう手もありますね。 プログラミング言語を習得する際の難易度は、 自分に合った参考書に出会えるかで変わってきますので、 良い参考書に出会える可能性が高い言語の方が 簡単という事になると思いますが、いかがでしょう?
その他の回答 (6)
- lilillii
- ベストアンサー率33% (1/3)
JavaとC両方勉強しましたが、大学の授業では、Javaのほうが簡単だと思います。 Cはポインタの概念が難しいです。すんなり理解できるひともいるようですが。 Javaはオブジェクト指向(の設計)が難しいです。 ただ、授業でそこまで複雑な設計をすることはないと思います。 将来的にプログラムを使うような仕事につくなら、両方学んだほうが良いと思うので どちらをとってもいいと思いますが。
お礼
回答ありがとうございました。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> とりあえず単位の取りやすい、簡単な方を選ぼうと考えています。 それが目的なら先輩に訊くのが最善でしょう。 どの程度のレベルで教えるかは教官次第ですから。
お礼
回答ありがとうございました。
- terra5
- ベストアンサー率34% (574/1662)
人にもよりますし、どの程度までやるかにもよると思いますが、 私はJavaの方が言語としてすっきりしていてやりやすいように思います。 Cは実用性重視というか性能重視というか、よりハードウェアに近い仕様なので、泥臭いとでも言えばいいのかなぁ。 変数も変数としてだけでなく、メモリでどう扱われているか知らないとだめでしょうし。 数行程度のプログラムを書くならCの方が楽かも知れませんが、ちょっと大きくなるとJavaの方が楽だと思います。 また、言語仕様が大きいからといって難しいとは限りません。 実際、その時々で使うのは限られてきますし。 また、オブジェクト指向どうこうも、よくわからなくてもプログラムは作れないことはないです。 逆にCでもある程度の規模のプログラムを作るには、オブジェクト指向的な要素は無いと困ります。
お礼
回答ありがとうございました。
- ggaogg
- ベストアンサー率43% (38/88)
もしも本質が理解できないときに、丸暗記でなんとか乗り越えれるのがCで(基本ライブラリくらいまでなら)、本質を理解していないとその先に進めないのがJavaかなと思います。 家で1人で(ネットで)勉強していますが、Javaは2度挫折したことがありますが、Cは挫折なくやってこれました。 でも、C++は挫折しそうです・・。 もしCでC++もやるならJavaのほうがわかりやすいと思います。{あなたの先生はもしかするとオブジェクト指向を教えたいのかもと思ったもので。(C++は複雑。。)}
お礼
回答ありがとうございました。
- greenstick
- ベストアンサー率27% (25/91)
学習のしやすさで言えば#1さんのおっしゃるように、Cからでしょうかね。Javaは、まずオブジェクト指向ありきの言語ですので、初めて習う言語としては不向きです。(というかプログラミング言語初心者に指導する言語として、適切に指導するのが難しい) 現場ではCの仕事は最近減ってますが(注:Webアプリ部門です。半導体とかカーネルとか別分野のことは知りません)、将来プログラミングを仕事とされることをお考えだとしても、「流行りの言語」は質問者さんが現場に来るころには今とは変わってるかもしれませんし、現場で習えますからあまり気にしなくていいです。
お礼
回答ありがとうございました。
- sunasearch
- ベストアンサー率35% (632/1788)
理解の順序としては、 C -> C++ -> Javaの順が良いと思います。 ただ、単位のとりやすさは、 大学の先生の性格によるところが大きいかと。。。 第2外国語がフランス語やドイツ語より、 ロシア語のほうが取りやすかったりするのと同じ感じですね。
お礼
回答ありがとうございました。
お礼
回答ありがとうございました。