• ベストアンサー

C++とC#

C,C++と進みC# Visual C#がありますが C++とC#の違いを教えてください. C++とJAVAをたしたようなもの なのでしょうか?

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

  • ベストアンサー
回答No.3

文法/構文上の類似点は多々ありますが、「別物」です。 その相違について掲示板で列挙できるものではありません。 # 本を読んでください。

その他の回答 (2)

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.2

いろんな言語って、解決したい問題を解決するのために設計・作成されています。給与や受注・在庫を処理するにはCOBOLが向いていますし、科学計算ではFortranですね。両方をサポートするためにPL/Iが作られましたが、巨大な言語仕様と実行速度・使用メモリ量増大があり、成功したとはいえないですね。(PL/Iには苦労しました・・・)プログラム初心者の勉強用にはBasic等でしょうか? C++は分散システムにおける並列処理の問題を解決するために利用されていたSimulaが、有用だけど、あまりにも実行速度が遅いってことで、Stroustrup氏が作成した「C with classes」を起源に、発展・発達した言語です。これは、Cのフロントプロセッサーとして開発されましたが、のちにC++のコンパイラーになっています。 C++は実用面・実行速度を重視しますし、Cとの互換性も重視しています。ポインター誤用、型相違などによる障害が発生しやすかろうとも、Cとの親和性や実行速度を悪化させる恐れがある仕様は採用されません。 ですので、C#がJavaの長所を取りいれてC++の言語上の問題点を解決しているように見えても、C++は、「そういう仕様もあるだろうけど、実行速度を犠牲にするわけにはいかない。我々はガベージコレクションで勝手に数秒も停止するのを許すシステムを作っているのではない」というスタンスでしょう。 ですので、仕様としてはC++とJavaを足したようなものですが、その過程である領域のアプリケーション作成に必要な言語上の条件を失いました。また「どんなマシン・OSでも使える言語」というJavaの長所も同時に失ってます。C#はそれぞれの言語の利点を加算していますが、同時に、欠点が加算されたところもある言語です。 また、C++は、言語のメリットを大々的に宣伝しません。それは、照れ屋で実直な技術者が「違いは、ものを見てもらえば、わかる人にはわかる。素人さんが分からないのはしかたない」というスタンスに似ています。 一時期、「Javaの出現でC++は抹殺だ!」なんて言われたこともありますが、その結果がどうなっているかは、明らかな気がします。 まあ、技術者はそんな論争はどうでもよく、良い製品を短期間に作成するのに最適な言語を自分の目と体で確認すればいいだけだと思っています。

M-hirorinn
質問者

補足

C#がなんなくわかりました. でも,JAVAのようにWindows以外では使えないのでしたら 残念です.

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.1

C++はCにオブジェクト指向の仕様を追加したもので Cの言語仕様のみを使ってCのプログラム作成も可能 ですが、C#はCともC++とも無関係な言語です。 他の言語でも行ってきた様に標準の言語仕様にMS独自 の仕様を追加してWindows以外では動かないようにして ユーザーの囲い込みを行う為に、SunのJAVAに対して 独自仕様を追加したJ#という言語を作っていたのですが OS等に左右されずにプログラムを動かす事のできる環境 を提供するというJAVAの基本思想に反するという事で MSとSunが決別した為、JAVAの対抗策としてMSが出して てきたのが.NETです。 その.NETで用いられている言語の1つがC#で、どちらかと いうとJAVAに似ています。 一応建前としてはJAVAと同様に.NET環境を備えたOS上では プログラムを実行できるとなっていますが、相変わらずに MS独自仕様の追加を続け、事実上Windows以外での実行は 困難です。

関連するQ&A

  • Visual C#とVisucal C++の違い

    Visual C#とVisual C++の違いについて教えてください。 C#はC++の上位互換だとかんがえてよいでしょうか?

  • visual C++につて教えて下さい。

    私は今、visual C++について勉強しています。visual C++についての課題があるのですが、その内容がうまく書けません。その内容はvisual C++とはどういうものか?visual C++はどういう役割りがあるか?c++との違いは?visual C++の特徴はなにか?などがあります。私は「visual C++3週間完全マスター」というもをやっています。しかし、初めてvisual C++をする私はなんとか本の通りしているだけで、どういうものか?ときかれてもうまく表現できずとても困っています。この質問にうまく答えられる方、分かり易く教えて下さい。お願いいたします。

  • visual C++について教えて下さい。

    私は今、visual C++について勉強しています。visual C++についての課題があるのですが、その内容がうまく書けません。その内容はvisual C++とはどういうものか?visual C++はどういう役割りがあるか?c++との違いはvisual C++の特徴はなにか?などがあります。私は「visual C++3週間完全マスター」というもをやっています。しかし、初めてvisual C++をする私はなんとか本の通りしているだけで、どういうものか?ときかれてもうまく表現できずとても困っています。この質問にうまく答えられる方、分かり易く教えて下さい。お願いいたします。

  • Visual Basic C# C++ 3種類あるけど、どう違う?

    お世話になります。 Visual系にはいくつが種類があり、 Visual C++ Visual Basic Visual C# の3種類があると思うのですが、違いがよく分かりません。 それぞれの向き不向き、特徴があれば教えていただけないでしょうか。 私は、初心者で、windows上で動作するexeアプリケーションファイルを作りたいと思っています。Visual Basicが一番簡単なようですが、もし、ほかの二つに比べて機能制約があるようでしたら、勉強してよりよい作品を作りたいと思っています。 ご回答を宜しくお願いします。

  • おすすめ IDE(C/C++)

    質問させていただきます。 今自分はVisual C++ ExpressEditionを使用して、プログラミングの勉強をしています。 そしてついさっきVisualC#にも触れてみました(どんなものかなぁと思って)そしたらびっくりするぐらい使いやすかったのです。 入力補完機能とかが・・・ Visual C++にはそれがありません。あるとかなり便利なのですが・・・ サクラエディタなどにも入力補完があるみたいですが何かと面倒くさそうですし、設定とか細かく載っているサイトも少ないですしやりにくいと思っています。 そこでVisual C# のように便利なC/C++の開発環境はないでしょうか? またJavaも将来的には考えているのでそちらのほうでのおすすめもあったらよければ教えてください。(Netbeansだけもっています。) ※質問などあればどうぞ言ってください。国語が苦手なので汚い文章です ご回答お待ちしております。

  • C++プログラミングをするにあたってBorland C++か Visu

    C++プログラミングをするにあたってBorland C++か Visual C++ どちらがいいのでしょうか? 違いなどがわからず困ってます。 よろしくお願いします。

  • Visual C++について

    以前までeclipseでJavaのプログラミングをしていたのですが、 最近VisualC++を使って、C++を覚えることになりました。 少し使ってみて思ったのですが、 Visual C++にはeclipseのようなコードの整形(フォーマット)機能、フォーマッタはないのでしょうか。

  • Visual C++とVisual C++.NETの違い

    これからVC++環境でプログラミングを勉強をしようと思うのですが、Visual C++とVisual C++.NETの違いが未だによくわかりません。 それと.NET frameworkの意味がよくわかりません。 またvisual C++にはCのようなmain関数が無いのでしょうか。どこに書いてよいかわかりません。 自分で調べて見たのですが、よくわかりませんでした。よろしければ教えていただけないでしょうか。  質問が多くなってすいません。

  • プログラム言語について

    プログラム言語ってJava C PHP C++ (Visual)Basic C#等がありますけど どう違うんですか? それぞれの違いを教えてください

  • これから初めてお得なのはC#かJAVAか?

    今までC/C++を使い、色々とソフトを作っていくうちにある程度覚えました。 C#かJavaでも初めてみようと思ったのですが、今から始めるのはどちらが お勧めでしょう?その理由なども教えてくれたらありがたいです。 JavaはWebブラウザでも動くのが魅力ですし、C#はVisual Studioで部品を ペタペタ貼り付けていくだけでWindowsアプリが作れるのが凄く魅力的です。 しかしJavaに関してはJavaそのものよりもEclipseとかの方に取っ付きにくさ を感じています。 また、その言語を学ぶのにお勧めのHPや書籍などを教えていただけると ありがたいです。

専門家に質問してみよう