- ベストアンサー
言語の違い
CとC++とC#の違いで,初心者でもわかる明らかな違いはどのようなものなのでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
横から失礼して・・・。 えっと、なにぶん長いこと(25年ほど)C関係は触っていないので昔の話になります。C#に関しては当時無かったので知りません。 C言語そのものは、関数ライブラリ参照型言語です。 C++言語は、オブジェクト指向型ライブラリ参照型言語です。 (ANSIの初期登場したころは、Object C言語と 呼ばれていた言語です。すぐに改名された記憶はありますけどね。) 例えばです。C言語でのライブラリ型の場合、引数と返す値の型が決まっており、あらゆる引数の型に対し、関数を保有してました。しかし、これでは関数の数が膨大になり、プログラマとして覚えることが多すぎますので、当時オブジェクト指向型言語Smalltalkと呼ばれる言語の利点を吸収し、引数の型、値の型が変わっても同じ関数を使用できるように、変更されました。これが現在のC++言語に当たります。 現在のC++言語は、初期に比べると大幅にC言語に近いものがありますが、当初記述が大変だった記憶があります。
その他の回答 (3)
- sha-girl
- ベストアンサー率52% (430/816)
>特にC++とC#の違いを知りたいのですが。 C#で作ったソフトは初期状態のWindowsにもってきても動かない。 C++で作られたものなら動く。 C#で作られたソフトをWindowsで動かすためにはマイクロソフトのページから 「.netフレームワーク」という物をダウンロードしてインストールする必要がある。 明らかな違いは、C#は「.netフレームワーク」に依存するということ
- Dxak
- ベストアンサー率34% (510/1465)
> えっと、なにぶん長いこと(25年ほど)・・・ すみません、勘違いです。25年な訳が、15年ですね。
- sha-girl
- ベストアンサー率52% (430/816)
C#とC/C++の差は 前者で作ったアプリケーションを動かすには.netフレームワークがインストールされている環境でないと動かない。 後者は必要ない。 CとC++の違いはソースコードレベルの話。厳密ではないですがC++はCの仕様を含みます。 ちなみに昔のC++はCのプリプロセッサで動いていたものです。(C++で書いたコードが 一度Cに変換されコンパイルされていました。) つまりC++で出来てCで出来ない物は無いですし、その逆もありません。
補足
特にC++とC#の違いを知りたいのですが。