• ベストアンサー

C言語、C+、C++、C#の違い

C言語、C+、C++、C#の違いがよくわかりません。 自分でも調べてみましたが、「オブジェクト指向」という言葉が出てきて、よくわかりません。 わかりやすく教えていただけたら幸いです。 初心者がプログラミング言語を始めるならどの言語がいいですか? 幅広い分野で活用でき、初心者でもわかりやすい言語がいいのです。 私は、C言語、C+、C++、C#のどれかを勉強しようと考えているのですが、この中の言語ならどれがいいでしょうか?もちろんこの中の言語以外に初心者にわかりやすく幅広い分野で活用できる言語があればそちらにしようと思います。ありましたら教えてください。

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

  • ベストアンサー
  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.3

まずは「オブジェクト指向プログラミング」というモノについて勉強してみては? プログラミング言語というのは「初心者」にはどれも簡単ではありません。 実際にコンパイル出来る環境があれば習得は早いとは思います。 因みに、CとC++は同じコンパイラで使用出来るので、「Cコンパイラ」「C++コンパイラ」を別々に用意する必要はありません。C/C++コンパイラでC#は使用出来ないのでC#だけは別物。 Perlという言語もあり、科学者が大量の測定データを分析する時に使用したりインターネットで動的ページの生成(CGI)に使用されたりしています。 大量のテキストデータを処理するならPerlは超高速。でも型定義とかが曖昧だし正規表現と鋳物を覚えないといけないのでこれまた大変。オライリーから出ている専門書でも正規表現はそれだけで1冊になってますからね。 「初心者にわかりやすい」と「活用」は相反することがあります。 そんなところに拘っていると本質を見失いますよ? まずは気になる言語の書籍を買って読みあさりましょう。自分にとってわかりやすい言語かどうかはそれからです。

その他の回答 (2)

回答No.2

元々、手続き型言語のCがありました。 これは、まあ今から思えば、一般的な高級言語です。 で、プログラムが段々大規模になるに従って、オブジェクトという単位でプログラムを作りやすくするという方法が登場しました。 オブジェクト指向言語C++です。似たような進化でObjective-Cというのもあります。 このC++は、もとのCと比べるとちょっと複雑で、しかも危険な部分も引き継いで持っていました。 多くの人間が躓くと言われている、ポインタなどを持っていたり、継承などの柔軟さが仇となっていたりしました。 そこで、C++を洗練して、尚且つ動作環境を統一したいという事で、C#というものが登場します。 とうとう、ポインタはなくなってしまいました。継承も柔軟性が制限された分、すっきりしています。 これは、.NET FrameWorkという共通のランタイムの上で動く、中間言語コンパイラです。 一応、Linux用の.Netもあるらしいです。ですから、マルチプラットフォームとマイクロソフトは言っています。 でも、そうは言っても、C++は、すでにウインドウシステムの世界では、どこ行ったって処理系がある状態で、事実上の標準と言っていいと思います。無理してC#にする意義は私には判りません。 規格を厳密に覚えて、扱う自信があるのなら、Cの規格を頭に入れちゃうと、C++や、C#の世界で戸惑うことがあると思いますが、プログラミング初心者なら、まず、簡素なCから初めてみるのがいいと思います。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

とりあえず…C+って言語は知りませんな。 「C言語で書かれているけど、中途半端にC++の規約で書いてある」って意味で、皮肉を込めた「C+」なら聞いたことがありますが。 >初心者がプログラミング言語を始めるならどの言語がいいですか? 向き、不向きもあるでしょうからなんとも… # ちなみに私はC言語。C++は多少理解している(つもり)ですが、使いこなせるレベルになっていません。 C#だと、Microsoftローカル…になりますかね? 組み込み系でC#ってのは無かったかと。 Cの基本がないと、C++は厳しいかも知れません。 が、CにどっぷりだとC++の習得の妨げになる。という意見もあったような。 # 私はどちらかというと後者になる…のかな? 大きな本屋ならば、プログラミング関係の書籍のコーナーもあるでしょうから、 そこで入門書の類を見てみる。というのもありかと。 あとは…何をしたい(どんなプログラムを作りたい)っていう目的も関係するでしょう。 # 文字列処理するならCよりperlの方がお手軽…とか。

関連するQ&A