• ベストアンサー

C,C++,C#には共通点があるのでしょうか?

Cという言語に+や#が付いているだけ、と考えるとC言語がベースで、それに何か変更を加えてC++やC#に派生した、と思っているのですが、実際なにかつながりはあるのでしょうか? C++を始める前にCをマスターしてから、というアドバイスをよく見かけますが、それもCがベースだからということなのでしょうか?

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

  • ベストアンサー
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.1

この手の話では以下の読み物がオススメです http://www.mwsoft.jp/column/program_top10.html 私の理解では、 C: 機械語を高級にしたもの C++: Cに、言語仕様的にオブジェクト指向を拡張したもの Objective-C: Cに、マクロ的にオブジェクト指向を追加したもの Java: C++の構文を下敷きに、JVM という仮想環境向けに簡単にしたもの C#: Javaの構文を下敷きに、.NET という仮想環境向けに複雑にしたもの CとC++は関連があるので、難解なC++/ObjCを覚える最初の段階としてのCは、良い考えだと思います。 C/C++とJava/C#は無関係なので、Cを覚えても無駄でしょう。

onotomo
質問者

お礼

C#の前にC~みたいな流れがないのは別物だからなんですね。 JavaやC#は仮想環境やら、なんだか複雑な気がしますので、C、C++に絞ってみようと思います。 それぞれの言語の方向性といいますか、そんなようなものが少しわかった気がしました、ありがとうございました。

その他の回答 (2)

回答No.3

どの言語を覚えるべきか、という問に対する答えには成らないかと思いますが、そもそもコンピュータ言語とはどういうものかとか、その辺の話を軽く流します。 今も使われているかと思いますが、アセンブラ等を扱うと、処理速度よりも開発効率を求めた時、スタックに情報を積むルールを定めれば、汎用性、延いては開発効率が速くなるという大人の事情により、それを突き詰めれば、それを暗黙の内にやれば良いという話に成り、それがC言語等だったりする訳ですが、そのC言語も構造体を引数に渡すルールを厳密にすれば(それが this の正体だったり)、汎用性が出てくるという話になり、暗黙の内にやれば、やはり大人の事情によりC++のような言語が生まれたり、それも効率を考えて色々暗黙の内にやれば、スクリプトに至る訳です。そのスクリプトにしても、やはり暗黙の技術論が出てくれば、jQuery みたいな物が出てきたり…。ある意味どこまでも落ちていけます。 どの言語を覚えるべきかと言う話に無理に合わせるなら、どうなんでしょうね。その辺の歴史を考えてコンパイラの仕組みを理解できるC言語は良い選択肢かも知れません。とは言え、その覚え方の方向を間違うと、問題が発生するかも知れません。例えば、C言語とC++言語の間には技術の域を超えて、思想的な違いが徹底的にあります。 これは今時為になる話なのかなぁ…。 まあ、コンパイラの構文解析の仕組みを理解したら良いと言う考えに至るのであれば、スクリプトを自分で作る方策を模索し、どの言語でそれをやるか、まあ、これはなんでも有り(と言っても無理な言語もありますが)なので、強いる物は無いと思います。何でしたら javascript でスクリプトも作れる訳で。 ああ、答えに合っていないですね。ごめんなさい。

onotomo
質問者

お礼

C#がCとは別物とわかったので、C、C++に専念しようと思います。 といってもしばらくは仕組みなりを覚えないといけないわけですから、他の言語やってる暇はないですよね。 Javaも少し興味があるので余裕ができたら挑戦してみようと思います、回答ありがとうございました。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

C++はC言語にオブジェクト指向やジェネリックプログラミングが機能追加されたものだけど、C#はマイクロソフトの戦略上の名前でDelphiやJavaの方が機能的には近い。C#にC言語の影響は無いわけではないが直接的な繋がりがないと思ってもらったほうが良いかも。 C++はC言語を内包していてC言語から派生したので、ほぼC言語のプログラムをコンパイルできるがC#には無理。

onotomo
質問者

お礼

C#がCと別物だとは思いませんでした、てっきり++のような派生だと… C/C++を本格的にやろうと思います。余裕ができたらJavaとかも考えてみようと思います。ありがとうございました。

関連するQ&A

  • CとC++は別物なんですか?

    CとC++は別物なんですか? C++をマスターしたところで 「C言語をマスターした」とは言えないのでしょうか? 「C++言語をマスターした」と言うことになるのですか?

  • C言語が解りません。。。

    こんにちは。 現在、僕は30歳でコンピュータの専門学校に通ってます。 当初、プログラマー志望でしたが、C言語が解らないので、プログラマー職には就けそうにないです。 最初の授業を休んでしまい基礎が身に付いてないので、今ではC言語が全然解らなくなりました。 自宅でのC言語の勉強方法は、教科書や参考書を読んで勉強する方法です。 自宅のパソコンでは、実際に実行コンパイルする方法が解らないので、教科書などを読んで勉強してます。 この方法だと、構文などの基礎的な事は解るのですが、応用が解りません。 この方法だと、いくら教科書を読んで勉強しても、自由にプログラムを書ける様になるとは思えないです。 専門学校を卒業するまでの、残り約半年間でこの方法で僕は、C言語をマスターできるでしょうか?。 マスターできればプログラマーを目指そうかなと思ってます。 良ければアドバイスお願いします。

  • CかC++どちらを覚えるべきですか?

    初めまして。せいじと申します。よろしくお願いします。 プログラミング経験なしです。今30歳です。 遅すぎますが、これからC言語かC++言語をマスターしたいと思っています。 Windows 98 + Borland C++ Compiler 5.5 で勉強しようと思ってます。 Cの拡張されたものがC++だからC++を覚えようと思って、C++の本を買いました。 ・新C++言語入門 ビギナー編 SOFTBANK Publishing 林 晴比古 著 ・詳説C++             SOFTBANK Publishing 大城 正典 著 2冊ともまだ最初の方を読んで実践しただけです。 クラス、オブジェクト指向プログラミング等々が何なのか分かっていないのに、 C++をする意味があるのか、まずはCで十分ではないのか? と思うようになってきました。 実際どうしたら良いのでしょう。 何も知らないならC++からでも良いのでしょうか。 違いが分からないならCで十分なのでしょうか。 みなさんの意見を聞かせてください。 よろしくお願いします。

  • C言語を独学でマスターした人。。

    こんにちは。 僕は独学でC言語をマスターしようと勉強してますが、独学では限界があって殆ど解ってないです。 それで、僕と同じように自宅で独学でC言語を勉強してる人もしくは、マスターした人はいますか?。 それ以外の人でも構わないので、もし良ければアドバイスお願いします。

  • C言語習得したいけど本が高い・・

    こんにちは。 僕はオンラインRPGを作りたいのですが、 C言語をマスターしようと思うと、高いC言語の専門書籍を買うのに お小遣いが足りません>< なんとか安くC言語をマスターできる方法ないでしょうか?? 切実です・・

  • プログラミング言語について

    コンピューター関連に詳しい人にお聞きします。 最近プログラミングに興味がわいてきました。 調べてみるといろいろな言語があるということが分かり、うぃきなどで調べてみたのですが意味が分かりませんでした。 javaやc、c++,phpなど実生活ではどのような場で使われているのでしょうか? それと俗にプログラマーと呼ばれる方々は、それらの言語すべてに対して知識があるのでしょうか? またプログラミング言語同士には、なにか繋がりがあるのでしょうか?例えばc++はcの派生といったようなもの。 回答よろしくお願いします。

  • C言語をマスターしたい。。

    こんにちは。 僕は夜間の専門学校(情報処理系)に通っている29歳です。 C言語を習っていますが、その難易度の高さに少しか理解できてません。 それで、C言語をマスターしたいので、インターネットや書籍で解りやすくマスター出来る仕方を良ければ教えてください。

  • objectiv-Cを学ぶにはC++を先に学ぶ必要があるか?

    objectiv-Cを学ぶにはC++を先に学ぶ必要があるか? 最終的にobjective-cでiphone用のプログラムを作成したいと思っております。 調べているとobjective-cが必要であるが分かりました。 C++と似ていて否なるものというような表現が多いのですがC++を学んだあとに取り掛かるのが良いですか?それとも最初からobjective-cを学んだほうがよいですか? 要するにobjective-CはC++の上に成り立っているのか、Cから派生した、C++と同列の別言語なのか? というあたりが知りたいところです。 当方のプログラミング言語の知識は BASIC、FORTRANは使ったことがあります。 C言語は入門書「C言語入門 THE C Primer アスキー出版局」を読んだだけで、使ったことはありません。 よろしくお願いします。

  • C言語を学ぶには・・・

     C言語を学びたいなと考えている中学3年生です。2週間前に自作パソコンが完成して、それにVistaとUbuntuをデュアルブートさせてと色々と夏休みなので最近はやっています。そこで、今度はプログラミングをやってみたいと考えています。  目指すは、C言語をマスターし情報オリンピックで金メダルをとることです。それには、努力を惜しまないつもりです。いま、とても勉強したい気持ちです。   そこで、C言語を学ぶのに最適なテキストを教えてください。本でもウェブページでもなんでも結構です。  よろしくお願いします。

  • iPhoneアプリのobjective-CとC言語について

    プログラミング初心者です。 iPhoneアプリを開発したいと思っているんですが、 まだMacを持っていません。 なので、Windows環境でプログラミングになれておこうと思っているんですが、どのような言語がいいでしょうか? objective-CがC言語ベースだということで、最近C言語を初めて見たんですけど、どうでしょう?