
現在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++がどれほど違うのかが不安です。
質問がたくさんになってしまいましたが、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
・よく聞く「VC++」と「C++.Net」は、違うのでしょうか?
文脈により違うものをさす可能性もあります。(同じ可能性もありますが、大抵は違うかも…)
「VC++」は、Microsoft社のC++コンパイラ製品名(の略称)であって、言語ではないです。
但し、特にMFCでの開発をさして(C++と区別して)「VC++」と表現する方もいます。
そして、「VC++」は、「非.NET platformのC++(標準C++)」と、
.NET platform用のManaged C++(MSの独自拡張。後に整理されてC++/CLIとして規格化)の*両方に*対応してます。
C++.NETというと、恐らくはManaged C++(MS独自拡張)か、
C++/CLI(これはECMAで独立した言語として標準化)をさすと思われます。
# Managed C++とC++/CLIも微妙に違う言語です。
一報、単にVC++と言う場合、標準C++(+MFC)の可能性が高いです。
> 私の使用PCには「Microsoft Visual Studio .Net 2003」が入っています。
これは、.NET framework上のManaged C++と標準C++の両方に対応した製品です。
・C言語とC++との違いは何なのでしょうか?
C言語は、ISO/IEC9899で標準化された言語です。
C++は、C言語をベースに開発された別の言語です(ISO/IEC14882)。
そして、.NET framework用のC++/CLI (ECMA-372)も別の言語です。
CとC++の関係を例えるなら、ラテン語と英語とかみたいなものでしょうか。
(ベースでもあり、参考にはなるが、似て非なるもの)
> C++を勉強する場合、C言語というのは飛ばしてよいのでしょうか?
知っているとお得です。知らないと将来「はまる」可能性もあります。
ですが、最初に勉強するべきかといわれると、議論が分かれるところだと思います。
> C++で開発とか、C#で開発とか言いますが、「C言語で開発」とは言わないですよね?
「C言語で開発」とも言います。
(PCアプリだと「C言語+Win32」ということが少ないだけで、組込業界等に行くと普通にあります。別言語ですし、C言語のシェアも高いので)
> C#とC++がどれほど違うのかが不安です。
根本のOOPとかは共通ですが、C++の方が格段に複雑で難易度が高いです。
C++⇒C#は比較的容易ですが、逆は結構面倒だと思います。
C#がオートマ車の運転なら、C++はF1カーのようなもの。
クラッチの切り方から注意しないとエンストしたり、事故ります。
その代わり極めれば性能が出ます。(反面、極めるのは困難です)
詳しい回答をいただき、ありがとうございます。
C#がある程度できるから、C++も似たようなものだろうと軽く思っていました・・・
一からC言語→C++の順にしっかり勉強します。
私が就く業務が、VC++なのか、C++.netなのか確かめます。
No.1
- 回答日時:
・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/
回答いただき、ありがとうございます。
同じように「C」と言っても、C言語・C++とC#はかなり違うのですね。
「基礎をしっかりするように」と言われているので、C言語→C++と勉強します。
ご回答の中盤以降が知らない専門用語ばかりでチンプンカンプンなのですが、
それらの用語が出てきたら、注意して勉強するようにします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- Microsoft ASP ASP.NETや.NET、C#とかVBとか 2 2022/05/16 21:16
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# Switch向けにpcでc言語でゲームを作っているのですが、開発環境はWindows10のvisua 1 2022/04/02 07:04
- C言語・C++・C# visual studio 2019 についての質問です 1 2022/09/21 09:58
- C言語・C++・C# アプリ開発について 初心者です phythonをはじめに学んで、c#かswiftのどちらかを学ぶのは 2 2023/07/09 19:18
- IT・エンジニアリング バックエンドエンジニアに転職 2 2022/04/07 00:51
- その他(開発・運用・管理) VisualStudioSetup.exeの設定について(Rustのインストールの準備として) 2 2023/04/17 12:54
- Excel(エクセル) 別インスタンスのエクセルを制御したい 1 2023/05/10 02:03
- その他(悩み相談・人生相談) 男子Aが授業中「お前☆※△□?」とB子に言いました。 B子「え?」 Aが男子Cに「この子とぼけてるぞ 3 2022/04/13 06:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
String^の^自体が何を意味して...
-
VB と VC++ と VC#の違いは?
-
簡単なシューティングゲームの...
-
c言語の仕事について
-
パソコン
-
HTMLってホームページ以外どん...
-
C++でWindowsのGUIアプリを作る...
-
C#のクラスが理解出来ない
-
Cをマスターしていくためへの...
-
VC++とVC#の違いを教えて下さい
-
C、C++、C#の関係について
-
iOSゲームアプリが作りたいと思...
-
python urlopen error について...
-
iCloudフォトライブラリ内の画...
-
VB.NET とドットNET(.NET...
-
VisualBasicプログラミング技術...
-
本格的なGUIを作るのにおすすめ...
-
C++ 標準ライブラリの実際の中...
-
決定木学習について
-
Google ColaboでGUI作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
String^の^自体が何を意味して...
-
VB と VC++ と VC#の違いは?
-
なぜHTMLのソースコードが無料...
-
C言語を独学でマスターした人。。
-
VC++とVC#の違いを教えて下さい
-
C言語のお勧め本
-
私は文系の大学生です。 将来ゲ...
-
基幹システムからデータを抽出...
-
COBOLをはじめたいのですが
-
webサイト制作をしたい高校生で...
-
VB.netってどうやって勉強しま...
-
職業訓練コースの選択
-
c言語の本を教えてください。分...
-
プログラマを目指してます
-
HTMLってホームページ以外どん...
-
clock_gettimeでミリ秒の時間差...
-
c言語はどのくらい出来るように...
-
来年度からSEになります。プ...
-
mac用のC言語のコンパイラルf探...
-
c++の勉強について
おすすめ情報