No.3ベストアンサー
- 回答日時:
C言語はCだけで、C++やC#は別の言語です。
ただ、C++はCの拡張ですからCの直接の子孫とは言えるかも知れません。
VC++というのは、マイクロソフトが出しているC++の実装の一つですで、C++のコンパイラ、開発環境の製品の名前ですね。
Cはアセンブラに近いのでかなり高速に動くコードや、ハードウェア制御コードなどがかけます。が、機能的にはシンプルでいろいろと自分でコードを書く必要があります。ライブラリはありますが、Java等に比べれば貧弱で数は少ないです。
Cの特徴を生かしつつ、なるべく互換性を保ったまま機能拡張しオブジェクト指向の対応したのがC++です。
が、互換性を持ったまま機能拡張したのでかなり仕様が複雑になってます。また、拡張部はどうしても速度が落ちたりメモリを余分に使ったりしがちですので、アセンブラ変わりに使えない場合も出てます。(組み込み用途等)
C#はJavaとあまり違わないと思っていいです。ごく簡単なものならソースもそのまま使える場合もありそうですし。逆に、C,C++とはあまり似てません。まあ、JavaがCと似ている程度には似てるとは言えますが(^^;
#2の方の回答にもありますが、VC#(とVB.NETとVC++で出力をネイティブコードでなく、マネージコードを出力させた場合)は中間言語にコンパイルしてそれで動作するので、
そういう意味でもJavaと同じと言えます。
私が向くと思う言語はC++,C,C#ではこんな感じです。
十分マシンパワーのあるWindows(2000,XP等)上で動くプログラムを比較的お手軽に作るなら、C#。
Javaから楽に移行するならC#。
OSの機能をフルに使うなら、C,C++。
ちょっと非力なマシンで動作させるならC,C++。
Windows以外のOSなら事実上C,C++。
パワーのあるOS,マシン環境で高速に動作させ、比較的楽に作るならC++。
非力なマシン等で動作させるプログラムならC。
だいたいどこのOSでもコンパイラが存在するのがC。
ただ、Cのプロジェクトというのがどんなものか分かりませんが、それがCしか使わないのなら、
やはりCを学ぶべきだと思いますが。
この場合はC#は無関係なのでやる意味はありません。
なるほど!とても詳しい説明ありがとうございます。
今度Windowsサーバーで動作するアプリケーションを
作ることになりそうで、お客様からは要件だけ満たしていれば
開発言語など実装に関することは任せると言われてまして。
要するに言語の選択から検討するはめになってしまいまして、
ご相談した次第です。
私の今後のキャリアプラン的な意味からしてもC++でやってみたほうが
よさそうかなぁと思っております。
No.5
- 回答日時:
> 今度Windowsサーバーで動作するアプリケーションを
作ることになりそうで、
それなら、C#(Visual C# .NET)でしょう。
VC++と比較すると、生産性が違います。
No.4
- 回答日時:
> C++とVC++またはC#とVC#って違うんでしょうか?
> マイクロソフトのものがVisual~?
No.2 では、C++, C# は一般的な言語環境としてという意味合いで、いろいろな処理系が出ていますが、Visual C++, Visual C# は Microsoft が作った処理系という意味合いで書きました。深い意味はありません。
C++ は言語仕様が複雑なためか、処理系によってサポートしている機能が微妙に違うようです。参考URLの C++ 移植性ガイドが参考になります。
参考URL:http://www.mozilla-japan.org/hacking/portable-cp …
No.2
- 回答日時:
その昔 C や java で書いていて、最近は主に Visual C++ ばっかり使っています。
C, C++ はアセンブラに近く細かい事まで出来るのが特徴です。また、最終的には各マシンの機械語(ネイティブコード)に変換されるので、実行速度が比較的高速です。その代わり、バグ等でポインタや動的メモリ管理の扱いを間違えるとメモリリークや保護違反などが発生しやすく、安定したプログラムを作るにはそれなりの熟練と十分なテストが必要となります。
C++ は C 言語を拡張しオブジェクト指向プログラミングも出来るようにしたもので、文法的にもほぼ上位互換で C++ の処理系では C も扱えるので、慣れれば断然 C++ の方が書きやすいです。また、オブジェクトを使って書く事で、全体の見通しが良くなる事で上記メモリ管理のトラブルは多少減らせます。(100%撲滅は困難ですが)
C# は使った事が無いのですが、java よりも後に設計されただけあって、使っている人によっては java よりも良くて究極だと言っている人もいるようです。(何せ、Microsoft による java への対向軸ですから、十分 java の良い点・悪い点を研究して作られているようです。)
実際に使っていないので、以下はあちこちで見聞きした情報に基づきます。間違ってたらごめんなさい。
---
C#は、文法的には C を拡張していますが java の要素を盛り込まれていて、Visual C# 等では java のように中間コードに落して実行していると聞いています。そのため、.NET Framework が入っていないと動かない等の制約があるそうです。
ただし、メモリ管理は java のように GC(ガベージコレクタ)ベースで、システム側で勝手に開放してくれるので、C, C++ のように神経質にならなくても良いようです。
いかんせん使った事が無いので、これ以上の使用感等はわかりません。
(C#に詳しい方フォローして下さい…)
詳しい解説ありがとうございます。
あほな質問で申し訳ないのですが
C++とVC++またはC#とVC#って違うんでしょうか?
マイクロソフトのものがVisual~?
No.1
- 回答日時:
基本がC言語です。
C言語にオブジェクト指向をサポートさせたものがC++言語です。
C#は使った事ないですが、.NetFrameworkを利用できるC言語だって聞いた事があり、.NetFrameworkを利用しないならC言語の方が使いやすいと聞きました。
最初はC言語で基本を学んで理解できたらC++に移行するというのがいいのではないでしょうか。
あとC++はCの上位言語なので開発環境はC++のでもCの勉強はできると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(言語学・言語) ピダハン語 2 2022/07/14 12:41
- IT・エンジニアリング FORTRAN、COBOL、C、Java、C++とか誰が作ったのですか?言語習い使いまた出て、キリが 4 2023/05/06 23:11
- 統計学 ガチャガチャの中に、あるアニメの キャラAのフィギュアが3種類1個ずつ キャラBのフィギュアが3種類 1 2022/06/04 15:28
- 哲学 日本語は 言語類型として あたかも始原のごとくである 3 2022/05/29 04:41
- その他(プログラミング・Web制作) 複数のテキストファイルの結合方法 2 2022/05/14 23:58
- IT・エンジニアリング c言語とjavaの需要について 3 2022/06/23 22:59
- 大学受験 高校化学の有機分野です。 この構造式で表される立体異性体は3種類ですが この場合ってc=cに結合して 3 2022/09/28 11:14
- 食生活・栄養管理 爪や髪を強くする為にサプリ一種類か二種類を買う予定です。ビオチン、ビタミンC、ビタミンB、亜鉛、プロ 1 2022/11/25 22:58
- その他(スポーツ) ホッケーマスクにはフルフェイス型(ジェイソンタイプ)と骨組み型(よく試合で見るやつ?)がある事を知り 2 2022/08/23 14:48
- その他(言語学・言語) 外国語問題 1 2022/07/21 15:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java、又はjavascriptでマシン...
-
同人ゲームについて
-
javaの堅牢性とは
-
javaのジェネリックスでTとEの...
-
正規表現について質問です。 カ...
-
javaアップレットとjavascript...
-
JAVAの基礎が勉強したいのですが。
-
JSPファイルで生じるエラーをど...
-
使用しているJUnitのバージョン...
-
vba クリップボードクリアにつ...
-
VBAの「for i=1 to cells(…」...
-
IISワーカープロセスが原因でCP...
-
Javaでのエラーについて
-
EclipseでJavaコンパイラのバー...
-
gitでバージョン指定してダウン...
-
プログラマーの適正検査落ちま...
-
サイドワインダーのドライバ
-
OpenGLでの楕円の描き方
-
Tomcat上で動くサーブレットが...
-
意味が分からないエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PythonやJavaScriptのように実...
-
JSPファイルで生じるエラーをど...
-
javaのジェネリックスでTとEの...
-
javaでの#if 0 #endif文
-
データベースの形式を認識でき...
-
正規表現について質問です。 カ...
-
ダブルコロンとアロー演算子
-
Pure Javaとは?
-
誕生日パラドックス
-
javaの堅牢性とは
-
while文を使ってのアプリケーシ...
-
Javascriptで出来ること
-
java と javaScript の違いはな...
-
サーブレットとPHPの違い
-
ラダーとjavascriptを勉強した...
-
java初心者なのですが、論理演...
-
正規表現で特定の単語を除外したい
-
C, C#, C++, Javaに関していく...
-
JAVAの特徴
-
VScodeのターミナルの文字化け...
おすすめ情報