質問: c、c++、c#の関係について 現在c#で簡単な開発しています。 今度就く業務ではc++が必要だから、勉強しておくようにと言われました。 c#を使っていながら、恥ずかしい質問なのですが・・・ ・よく聞く「vc++」と「c++.net」は、違うのでしょうか? 正式名称が「microsoft visual c++ .net」なので、同じような気がするのですが。 私の使用pcには「microsoft visual studio .net 2003」が入っています。 ・c言語とc++との違いは何なのでしょうか? 両者の関係が分かりません。 c++を勉強する場合、c言語というのは飛ばしてよいのでしょうか? c#を習得するときは、c言語を勉強しませんでした。 c++で開発とか、c#で開発とか言いますが、「c言語で開発」とは言わないですよね? c#とc++がどれほど違うのかが不安です。 質問がたくさんになってしまいましたが、よろしくお願いいたします。
回答: ・c言語とc++との違い c++を勉強する場合、cの勉強を飛ばすのはあまりよくありません。 殆どの場合においてcの特徴であるポインタやその他多くの知識が必要だからです。 c++のコンパイラは、殆どのcコードをコンパイルすることが出来ます。 それは、c++がcの仕様をほとんどそのまま引き継いで、更に独自仕様をつけたしかたらです。だから今は「cで開発」とは言わずに、cとほぼ同じことが出来て且つcよりも多くの事が出来る「c++で開発」という事の方が多いです(c++のような巨大な開発が出来ない組み込み系以外では)。c++は規模の大きいプロジェクトの開発が出来るようにオブジェクト指向のできる、マルチパラダイム言語として開発されました。なのでcと比べて、その仕様の幅は非常に膨大なものになっています。さらにcは静的な言語ですが、c++では静的な部分と動的な部分とが入り混じっています。代表的なのが静的な型チェック(コンパイル時に変数の型をチェック)をするキャスト、動的な型チェック(実行時に変数の型をチェック)するキャスト、stlに内包されている、実行時に領域を拡張できる動的配列vectorなどなど。慣れるまで非常にややこしいですが、これらの事を良く踏まえてc++を勉強するべきです。 ・c#とc++がどれほど違うのか c#はどちらかと言うとjavaに近いです。名前こそは似ているものの、c++と異なる部分も多くあります。 リンクにはc,c++入門のあるサイトを張っておきました。 参考url:http://wisdom.sakura.ne.jp/