プログラミング言語っていっぱいあるよな。似たような名前のものも多い。
例えば、C++とC#というものがあるぞ。
この記事ではC++とC#がどうしてできたのか、違いはどこにあるのか、どういう使われ方をするのかを、プログラマでもあるライターのwoinaryと一緒に解説していきます。

ライター/woinary

某社で社内向け業務システムの開発、運用を30年近くやっていたシステム屋さん。現在はフリーランス。ガジェットやゲーム、ラノベが大好きなおっさんです。

C++とC#の違いとは?

C++とC#はどちらもCというプログラミング言語を改良したものです。ところが、作られた理由も誰が作ったかも違うため、似ている部分も多いですが、特徴やどこで使うかが異なっています。まずは、それぞれの特徴を見ていきましょう。

C++とは

まずはC++からです。C++は「シー・プラス・プラス」と読みます。

C++はなぜできた?

C++は1983年にビャーネ・ストロヴストルップが開発したものです。彼はデンマーク生まれ、アメリカのAT&Tベル研究所で計算機科学を研究していました。彼はもっと高度なプログラムを書けるようにとC言語を改良してC++を作ります

C言語だけでなく、その他のプログラミング言語の良い部分を盛り込んだのがC++ですが、最大の特徴は「オブジェクト指向」という考え方を取り入れたことです。「オブジェクト指向」とはプログラムの中の色々なものが全てオブジェクトであるとする考え方のこと。この考え方を取り入れることで、高度なプログラムを楽に書くことができるようになりました。

C++の書き方

C++で書いたプログラムはこのようなものです。messageという箱(変数)の中に「こんにちわ」という文章を入れて、それを画面に表示します。

\次のページで「C++はどこで使われている?」を解説!/

#include
using namespace std;
int main(void){
   char message[] = "こんにちわ";
   cout << message;
}

C++はどこで使われている?

C++は様々なところで使われていますが、会社の中での仕事に使うプログラムを作るために使われていることが多いです。ウェブブラウザに表示して動かすようなものではなく、WordやOfficeのようなデスクトップアプリケーションを作るために使われています。今使っているウェブブラウザの多くもC++で作ったものです。

C#とは

image by iStockphoto

続いてC#です。C#は「シー・シャープ」と読みます。C++とはどう違うのでしょうか。

C#はなぜできた?

2000年にマイクロソフトがC#を作りました。なぜC#を新たに作ったのでしょうか?Windows用のプログラムの多くはC++でできています。しかし、Windows用のプログラムはWindowsでしか動きません。そこに登場したのがJavaです。

Javaは色々なコンピュータの上で動く土台部分を提供することで、どのコンピュータでも動くという仕組みを取り入れました。Javaさえあれば、WindowsでもMacでもAndroidやiPhoneでも、同じプログラムがそのまま動くという画期的なものでした。

マイクロソフトはJavaに対抗するため「.NETフレームワーク」というどのコンピュータでも動くような土台を用意しました。そのために作ったのがC#です。C#はC言語だけでなく、C++やJavaも参考にして作ったので、オブジェクト指向の考え方も取り入れています。

C#の書き方

先ほどのC++で書いたプログラムをC#で書くとこうなります。同じ内容ですが、細かい部分が違うのがわかりますね。似たような生い立ちですが、それぞれのプログラミング言語で考え方が違います。また、影響を受けた考え方も違うので、このような違いが出てくるのです。

\次のページで「C#はどこで使われている?」を解説!/

public class Hello{
   publicstaticvoidMain(){
      stringmessage = "こんにちわ";
      System.Console.WriteLine(message);
   }
}

C#はどこで使われている?

色々なところで使ってもらうことを目指した「.NETフレームワーク」とC#ですが、今の所はWindowsでの利用が一番多いです。しかし、ゲームを作成するときに使うゲームエンジンのUnityではC#を使うため、Windows以外でもC#が使われるようになってきています

C++とC#はなぜ名前が似ているの?

C++とC#は名前がとても似ています。ここまでに説明したように、どちらもC言語に新しいものを加えて作った言語です。秘密はそのネーミングにあります。なぜC++かと言うと、C言語では数字を1増やすことを「++」と表現するため。Cを改良したものという意味で「C++」と名付けました。

一方で、C#がなぜ「#」なのかはわかっていません。音楽で半音あげることを意味するシャープだとも、#が+を4つ重ねたものに見えるため、C++をさらに進化(++)させたC++++であるとも言われています。理由はわかりませんが、C#もCを改良したものという意味のネーミングです。そのため、とても似ている名前になりました。

でも、なぜわざわざ新しい言語を作る必要があるのでしょう?

プログラミング言語は進化する

私たちが使う日本語も、時代の変化によって少しづつ変わってきているのはご存知でしょう。その言葉ができた時と現代とでは意味が変わってしまった言葉も色々あるし、使い方が変わったものもあります。プログラミング言語も同じように変化するのです。

コンピュータが進化するにつれ、新しい考え方が導入されたり、便利な機能が追加されたりと、プログラミング言語も進化します。そのような場合に、今あるプログラミング言語を改良して別のものを作るのです。

ルーツは同じ?C言語とC++、C#

元々あったCというプログラミング言語に新しいものを追加したので、C++もC#もルーツをたどればC言語です。そのため名前も似ていますし、機能や書き方も似ている部分があります。ただ、誰が作ったのか、何を追加したのかが違うので、違う部分もあるのです。

\次のページで「どちらが〇〇?C++とC#をもっと比べてみよう!」を解説!/

どちらが〇〇?C++とC#をもっと比べてみよう!

image by iStockphoto

それぞれの違いがわかったところで、C++とC#はどちらが良いのでしょうか?

どちらが使いやすい?

どちらもC言語をもとにして、同じようにオブジェクト指向の考え方を取り入れています。そのため、細かい部分に違いはありますが、似ている部分も多いです。また、どちらも登場してから現在まで、使いやすさを良くするために改良し続けています。使いやすさを良くするために、今も競い合っているのです。

どちらが速い?

どちらも十分に早いので優劣をつけ難いです。ただ、C#はどこでも動く仕組みである「.NETフレームワーク」で動きます。そのためコンピュータの上で直接動くC++で作成したプログラムよりはC#のプログラムは少し遅くなるのです。

どちらを使うべき?

ゲームを作りたいとか、モバイル端末でもPCでも動くものを作りたい場合にはC#の方が向いています。また、会社で使うようなプログラムを作るのに向いているのはC++です。

その他にも競技プログラミングという与えられたテーマからプログラムを作って競う競技があります。ここではC++の利用者が多いです。そのため、様々な情報を集めたり、お手本を見つけやすくなっています。

C#はゲーム向き、C++はアプリ向き

同じC言語を改良したものですが、目的が違うので違う点もあります。会社で仕事に使うデスクトップアプリケーションにはC++を使うことが多いです。

C#もWindows用のデスクトップアプリケーション作成に使われますが、Mac、iPhone、スマホ、タブレットで動くゲームを作るのに使われます。

" /> C++とC#の違いとは?なぜ名前が似ているの?特徴や速度もプログラマーがわかりやすく解説 – ページ 4 – Study-Z
IT・プログラミング雑学

C++とC#の違いとは?なぜ名前が似ているの?特徴や速度もプログラマーがわかりやすく解説

どちらが〇〇?C++とC#をもっと比べてみよう!

image by iStockphoto

それぞれの違いがわかったところで、C++とC#はどちらが良いのでしょうか?

どちらが使いやすい?

どちらもC言語をもとにして、同じようにオブジェクト指向の考え方を取り入れています。そのため、細かい部分に違いはありますが、似ている部分も多いです。また、どちらも登場してから現在まで、使いやすさを良くするために改良し続けています。使いやすさを良くするために、今も競い合っているのです。

どちらが速い?

どちらも十分に早いので優劣をつけ難いです。ただ、C#はどこでも動く仕組みである「.NETフレームワーク」で動きます。そのためコンピュータの上で直接動くC++で作成したプログラムよりはC#のプログラムは少し遅くなるのです。

どちらを使うべき?

ゲームを作りたいとか、モバイル端末でもPCでも動くものを作りたい場合にはC#の方が向いています。また、会社で使うようなプログラムを作るのに向いているのはC++です。

その他にも競技プログラミングという与えられたテーマからプログラムを作って競う競技があります。ここではC++の利用者が多いです。そのため、様々な情報を集めたり、お手本を見つけやすくなっています。

C#はゲーム向き、C++はアプリ向き

同じC言語を改良したものですが、目的が違うので違う点もあります。会社で仕事に使うデスクトップアプリケーションにはC++を使うことが多いです。

C#もWindows用のデスクトップアプリケーション作成に使われますが、Mac、iPhone、スマホ、タブレットで動くゲームを作るのに使われます。

1 2 3 4
Share: