皆さんこんばんにちは、ユウです。
今回は、C言語、C++、C#について語っていきます。
名前は似ていますが、役割は全く違う言語になっています。
今回の記事を読むメリット
・C言語、C++、C#の違いがわかる
C言語、C++、C#は人気がある
図1.プログラミング言語の人気順
図1からわかるとおり、C言語、C++、C#は3つとも人気があります。
前の記事で、初心者が選ぶべき言語について説明しましたが、今回はその他に人気がある『C』の名の付く言語について説明していきます。
C言語は小さくて速い
C言語の名前の由来は、 B言語の次に開発されたからC言語と言います。
C言語で出来ることは、主として2つあります。
それぞれ、
・「組み込み系」
・「OS」
です。
C言語の組み込み系
組み込み系は電子基板やロボットを動かすために使われます。
図1でいうと、ハードウェアに当たります。
電子基板というのは、パソコンやスマホに入っているもので、ものを記憶したり、信号を入出力したりするものです。
なぜ電子基板やロボットを動かすことが、C言語に向いているのかというと、理由は3つあり、以下の通りです。
1. ほかの言語に比べてC言語は速度が速い
2. ソースコードに無駄がない
3. プログラムのサイズが割と小さい
C言語のOS
2つ目の「OS」とは、OSはオペーレーティングシステムや基本ソフトのことをいいます。
OSの具体例は、図1にあるとおり、セキュリティや、システムなどがあります。
図2.C言語の開発範囲
C言語の勉強
私の場合は、大学の授業の関係でC言語から学びましたが、C#に比べたら地味な言語です。
現在私がしている勉強は、C言語の基礎を学習しつつ、データ構造とアルゴリズムについて勉強しています。
このデータ構造とアルゴリズムは、OS(基本ソフト)の開発に使えるかもしれないと思って絶賛勉強中です。
C言語はプログラミングを行う上での基礎になる。
C++は、C言語の拡張
C++は、「シープラプラ」と呼ばれています。
この言語のイメージは、「C言語の拡張」です。
C++の特徴は大きく分けて3つあります。
1.オブジェクト指向があること
2.C++の開発環境でも、C言語の開発を行うことができること
3.C言語同様に「組み込み系」やOSを開発できること
オブジェクト指向があると、ソースコードの記述量が減り、大人数での開発がしやすくなります。
そして、C++は、C言語と一緒に使うことが出来ることが強みです。
C++は他にも、図1の応用ソフトのワードやエクセルなどのデスクトップアプリの開発にも使用されています。
ただし、C++でも、スマホアプリやウェブアプリを作るのは難しいです。
図3.C++の開発範囲
C++の勉強はC言語を理解してから勉強する
C++は、C言語と一緒に記述することができるので、まずはC言語を勉強して、C言語の可能性に限界を感じてきたら、C++を勉強するといった感じの方が良いと思います。
アプリを作りたい人には、C、C++はオススメしない
もしかしたら、この記事を見てくれている人の中にも、ウェブアプリやスマホアプリを作りたいという方がいらっしゃるかもしれません。
これらのソフトは、C言語やC++で記述しようとすると、ハードウェアやOSよりも定義する関数の量が増えるため、プログラムを作成する手間がかかります。
ですので、応用ソフトを作りたい人には、C言語はオススメしません。
・C++はC言語の拡張版
・オブジェクト指向があり、記述しやすい
・C++はデスクトップアプリなども開発している
・アプリを作るのは難しい
C#はC言語やC++より大きく、万能
C#は、C++やJavaの進化形です。
ですから、C、C++とは全く別のプログラミング言語になります。
C#の特徴は、次の3つです。
1.C++よりもアプリを作ることが簡単
2.C#の開発環境ではC言語、C++と一緒に使うことはできない
3.C言語やC++では開発できないスマホアプリやウェブアプリも開発できる
本サイトでも、ゲーム制作をするためにC#の記事を取り扱っています。
C#は、C++同様にオブジェクト指向があり、万能なプログラミング言語Javaの特徴を受け継いでいるので、C++やC言語よりも多機能であることは間違いありません。
図4.C#の開発範囲
C#は儲かるらしいので,C#から始めるべき
C#はjava同様に万能なので,すぐに始めるべきです。
また、アプリの制作に関しては案件の受注がしやすく、単価が高いものが多いです。加えて、C#の学習難易度はC言語よりも簡単です。
今すぐにでもC#の勉強や開発をはじめたいなら、youtubeで「C# tutorial」と検索すると、C#の実行方法から開発までの流れを見ることができます。
https://www.youtube.com/results?search_query=C%23+tutorial
・C##はかなりいい言語
・ぜひ始めよう!
C言語、C++、C#のまとめ
・C言語は、ハードウェアよりのプログラミング言語で、小さくて速い!
・C++は、C言語の拡張版のプログラミング言語で、C言語と連携可能!
・C#は応用ソフトよりのプログラミング言語で、C言語やC++とは全く異なる言語だが、アプリ開発において万能。
最後に
IT系の企業の増加に伴い、プログラミングが出来るエンジニアの需要は今後増加するでしょう。
その証拠に、エンジニアの市場価値は上昇傾向にありますし、義務教育でもプログラミングをとりいれた学習計画がなされています。
これからの社会のニーズと、自分のやりたいこと・作ってみたいものに合わせた言語を選んで、ぜひプログラミング学習に挑戦してみてください。
簡単ではありませんが、一緒に頑張りましょう!