• ベストアンサー

C#でできてC++でできないことは?(C#のメリットとは?)

これから新しい言語として、C#もしくはC++の勉強をしたいと 考えています。 C#にできてC++にできないこと、あるいはその逆でC++にはできて C#ではできない。ということがあれば、教えていただけないでしょうか? 感覚としてはC++であれば何でもできるという感じではあるのですが、 C#を使うメリットってどんなことがありますか? やはり、ビジュアル開発(コントロールのDrag&Dropで画面開発ができる) の簡単さというところがC#でのメリットでしょうか? ちなみに私はこれまで、C -> VB -> Java といった順で言語を習得 してきました。

noname#77208
noname#77208

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

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

>C#にできてC++にできないこと 無いでしょう。 基本的にC/C++の場合コンパイラの種類に依りますが 内部にアセンブラを書くこともできますから C/C++で出来ないことはC#でも出来ません。 (勿論#1さんの言われるように言語レベルの仕様で出来ない事はあります。) 簡単さでいうとC#です。VB6の開発経験があるとのことですが VC#だとVBのフォームを作成するような感じでインターフェースを 作っていけます。(一応VC++でも可能) 一方C#で出来ないことですが 当然ですがフレームワークに依存しないソフトを作る事が出来ません。 Javaで作ったソフトがJREを必要とするのと同じです。 他にはCPUの特殊な命令(SSEやMMX)を呼び出すとかドライバの開発等も出来ません。 ちなみにVC++でもフレームワークは使えるので フレームワークのガベージコレクション等を使うことは可能です。 (ただフレームワークを使うならC#の方が簡単です。)

その他の回答 (4)

回答No.5

C++にはできてC#ではできない →やはりC++の資産をそのまま活用できるというのが大きいでしょうか。特にそのような場面に出くわしていないのでしたら、VB,Javaといった今までの道のりから考えて、次はC#かとは思います。 またC++は、未だVC6.0が開発環境として広く使われていますが、今更MFC6.0を学んでも、努力に見合うメリットはないと思います。

回答No.4

何を作るかを決め手から、言語を選べはいいのです。一つの言語で何でもやろうして遠回りすることのないように、あらゆる言語、ライブラリを使えるようにしておいた方が良いと思います。(深く知る必要はありません。調べながらコードが書ける程度の知識で十分です。) C# or C++ のお勉強をするなら、C++ & STL のお勉強をお勧めします。分かりやすい本が山ほど出てますし、ネット上にも情報は転がってます。Win32API, MFC, .Net, ATL については、Visual Studio.Net 2005 を待ったほうがいいかもしれません。(Windows OS は現在過渡期なんで・・・。) Visual Studio.Net をまだお持ちで無いなら、しばらくは、お試し版で試してからの方がいいですね。Visual Studio.Net 2005 が買いです。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

C# の次の仕様ではジェネリック (C++ でいうテンプレート) が導入される (同時に CLI も拡張される) んですが.... C# のジェネリックは CLI に強く依存するため, C++ でのテンプレートの特殊化が C# ではできません.

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

・C#にできてC++にできないこと 言語構造としてプロパティ 自動メモリ管理 javaでいうインターフェースのようなものとかデリゲート ・C++にできてC#ではできないこと クラスの多重継承 テンプレートクラス とりあえず思いつくところを書いてみました。 (間違っていたら識者の方訂正お願いします) いずれにせよ、代替機能でなんとかなるようなものもあるし、 C#やC++も言語拡張(例えばマネージドC++とか)したものや将来的にされるものがあるのであんまり意味はないのかもしれません。

関連するQ&A

  • Visual Basicを勉強したいのですが…

    Visual Basicを勉強したいのですが、CやJavaなどのように無償で自分のパソコン上で開発環境をインストールし、勉強することはできるのでしょうか?? 無償で開発環境が配布されているのであれば、その入手方法をお教えください。 また、Visual Basicという言語に関する簡単な解説などもよろしくお願いします。(オブジェクト指向なのか?コンパイラ言語なのか?etc) (CやC++、Javaなどに比べ、VBを勉強するメリットはあるのでしょうか?あわせてよろしくお願いします。)

  • Visual Basicを勉強したいのですが…

    Visual Basicを勉強したいのですが、CやJavaなどのように無償で自分のパソコン上で開発環境をインストールし、勉強することはできるのでしょうか?? 無償で開発環境が配布されているのであれば、その入手方法をお教えください。 また、Visual Basicという言語に関する簡単な解説などもよろしくお願いします。(オブジェクト指向なのか?コンパイラ言語なのか?etc) (CやC++、Javaなどに比べ、VBを勉強するメリットはあるのでしょうか?あわせてよろしくお願いします。)

  • 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#の習得は出来るでしょうか?最初はJAVAやVBを勉強しようと思ってたのですが、某サイトではC#のほうがJAVAやVB、C++の長所を引き継いでいるので良いと書いてたので悩んでいます。あとどれくらいの時間があれば習得できるかもしりたいです。どなたかアドバイスお願いします。

  • C言語の学習方法

    OS:win2k Visual C++6.0 はじめまして。 現在までVBで開発してきましたが、Cはまったくの初心者です。 C、C++、Visual C++6.0など色々なC言語(開発環境?)がありどれから 手をつけよいのか混乱しています。 とりあえずVisualStdio6.0をもっているので Visual C++6.0から始めようと思っていますが 難しく困っております。 一般的にはどのC言語から勉強したら効率が良いのでしょうか? また勉強になるHP、参考書などありましたら教えてください。 最終目標はCでDLLを作れるようになりたいのですが。 宜しくお願い致します。

  • VBとCとJAVA

    VBとCとJAVA  今日は,質問させていただきます. どうぞよろしくお願いいたします.  VB.NETが好きでずっとコーディングしておりますが, 使ってもらう友人に毎回.NET Frameworkをインストールしてもらうのが手間でございます... 他の言語も触ってみたいのでございますが,CとJAVAのことをぜんぜん知りません... そこで, 1.VB.NETのように,コントロールを配置したりして  アプリケーション開発できるツールってCやJAVAにもあるのでしょうか? 2.それがもしあれば,それで作成したEXEファイルを使用する時に  .NETのようにPCに何かインストールする必要はないのでしょうか?? 3.VBを始める前から,ネット上でよくVBは独特の癖があって  扱いにくい,といったようなといったようなご意見を見かけます.  VB.NETと他のアプリ開発ツールとの比較(長所や短所などでも)を  簡単にでもお教えいただけないでしょうか.  もしお詳しい方がいらっしゃいましたら, どうぞよろしくお願いいたします.

  • Java言語、C言語のメリット・デメリットについて

    初歩的な質問で大変申し訳ございません。 これからC言語もしくはJava言語のどちらかを勉強しようと 考えています。 それぞれの言語において、使用する上でのメリット・デメリットは あるのでしょうか? どなたか教えていただけますか?

  • いきなりC#って可能ですか!?

    現在、まったく知識ゼロの状態なのですが、近い将来C#を使って開発をする必要に迫られています。(会社でシステム開発の中心にいる人が、C#をかなり押していて、上司もそれに乗り気なのです) 私自身も雑誌等を見ている限り、C#を理解する事はメリットになると思っています。ただ、参考書も中・上級者向けのものがチラホラあるだけの状況で、いきなりC#の勉強を始める事が正しいのか悩んでいます。 環境としては、Visual Studio.netの他にVisual Basic6.0を所有しています。まずはVBでプログラミングに慣れて・・・と思いましたが、先輩からは「VBは.netになってかなり内容が変わったから、今更VB6.0を勉強する必要は無い。」と言わてしまいました。 最終的にはC#を身につける事を目標に、どのような手順を踏んで勉強するのがベターなのか、アドバイスをいただけないでしょうか。 また、知識ゼロの人間がC#を学べる学校などがありましたら教えてください。(仕事でC#を覚えたいので、C#を覚えるために昼間学校に行く、と言うのは却下です ^^;)

  • 今後、プログラマーとして習得すべき言語

    今後、プログラマーとして習得すべき言語 自分はプログラマー2年目です。 今後のことを見据えて、言語の勉強を行おうとしていますが、 どの言語を習得すべきか迷っています。 現在はVB2005の業務用アプリケーションを開発する仕事をしていますが、 VBの開発がこの先もあるのか疑問です。 使える言語としては、VB2005、 JAVAとCが少々。 仕事にもよるところはありますが、 JAVA,JSP,PHP,C++,C# のいずれかの言語に挑戦すべきか・・ それともこのままVBをマスターすべきか・・迷いどころです。

  • CとC#

    VB.NETで開発をしている新米プログラマです。 仕事とは関係なくC#の勉強を始めたところなんですが、仕事でC言語を覚えなければならない可能性が出てきました。 まだ決定かどうかハッキリしない状態なんですが、今のうちからC言語の勉強をしておいたほうがいいと思っています。 そこで、CとC#を平行して勉強するというのはあまり効率のよくないものでしょうか?

専門家に質問してみよう