C#って何?プログラミング言語C#のあれこれを徹底解説

C#,プログラミング言語

C#とは何か?を解説します

この記事では、プログラミング言語のC#とは何か?について解説していきたいと思います。
本記事をご覧頂くと下記が理解できます。

この記事で学べること
・C#の概要
・C#でできること(ゲーム・アプリ開発)
・C#の学び方
・C#のアプリ開発の方法

ちなみに私はプログラミング歴8年の社会人SEです。
質問には何でも答えようと思っていますので、分からないことはコメント欄で聞いてくださいね。

筆者

分からない箇所はコメント欄にどうぞ!!

C#について知りたい方、プログラミングに興味のある方一度プログラミングを体験してみたい方はご覧ください。最後にC#プログラミングの始め方ガイドも記載していますので、ぜひ最後まで。
ではどうぞ。

C#って何?

C#とは何か?

C#とは、システム構築の際に用いられるプログラミング言語の1つです。


プログラミング言語とはある特定の結果を得ることを目的として、実行可能なコンピュータプログラムを設計・構築するための言語です

C言語やPython、Javaなどの単語を皆さんも一度は聞いたことがあるのではないでしょうか?
C#はそれらと同じプログラミング言語の一つなんです。

開発現場などでは、Visual Studio上でC#プログラムを組んでいくことも多いです。

C#でのアプリ開発(例)

C#は人気のプログラミング言語

現在プログラミング言語は世界で250言語以上存在すると言われています。
とても数が多いですよね。(ちなみに日本語などの意思伝達言語は6900種類あるそうです)
https://www.pasonatech.co.jp/workstyle/column/detail.html?p=2505

日経XTECH

上記の図は日経クロステックが2021年夏に、利用しているプログラミング言語をITエンジニアにアンケートを取った結果です。図を確認すると、250以上あるプログラミング言語の中で、C#は利用率第五位なっています。

この結果からわかるように、C#はとても人気の高いプログラミング言語です。

なぜC#は人気があるのか?

その人気の理由の一つにあるのが、Microsoftが開発していることです。


マイクロソフトは、パソコンの核であるWindowsOSや大人気ゲーム機Xbox、タブレット型PCのsurfaceなどを開発している会社です。

ご存じの方も多いはず。

そんなマイクロソフトが開発しているプログラミング言語ということもあり、ゲームやWindowsPCと互換性があり、汎用性が高いため、C#はよく使用されているのです。

C#をまとめると、
マイクロソフトが開発した人気のあるプログラミング言語
と言えるでしょう。

C#はゲーム開発(Unity)に使用されている

C#とUnityの関係性

Unityのプログラミング言語は主にC#が使用されています。

UnityはUnity Technologies株式会社が提供するゲーム開発エンジンです。
皆さんもご存じのPlayStation 4やXbox One、Nintendo Switchなど数多くの有名ゲームの開発エンジンとして使用されています。

筆者

Unityは大人気ゲームの開発エンジン
数多く採用されています!

代表例として「ポケモン GO」「Among Us」ドラゴンクエストVIII 空と海と大地と呪われし姫君などが挙げられます。

ポケモンGOはUnityから作られている。【引用元:https://www.pokemongo.jp/

そんな有名なゲームを世に送り出しているUnity。

そのUnityの開発言語として利用されているのがC#です。
そう聞くと、C#にとても親近感を感じませんか?

上記のようにUnity⇔C#を交互に行き来しながら、ゲーム開発は進められています。

Unityで物体を生成しつつ、C#でロジックを記載する。
という流れで一般的なUnityゲームの開発は行われます。

C#Webアプリケーションの開発が容易

C#はWebアプリケーションの柔軟な開発ができます

.NET Frameworkという「Windows でアプリケーションをビルドして実行するためのソフトウェア開発フレームワーク」を採用できるからです。
これにより、Windowsでの開発をスムーズに行うことができます。


.NET Frameworkには以下二つの大きな特徴があります。
・共通言語ランタイム (CLR)
スレッド管理、ガベージ コレクション、タイプ セーフ、例外処理などの実行中のアプリケーションを処理する実行エンジンが備わっています。
・クラス ライブラリ
一般的によく使用する機能のための一連の API と型が用意されています。文字列、日付、数値などの型の提供。ファイルの読み取りと書き込み、データベースへの接続、描画などの API が含まれています。


共通言語ランタイム (CLR)によって、例外処理やなどの複雑な処理を気軽に使用できたり、ガベージコレクションなどのメモリ管理を実装する必要がなくなります。
クラス ライブラリの日付型を用いれば自由に日付データを定義できたり、入出力ファイルなども簡単に利用することができます。


このように、プログラムの実装を簡易化する機能がたくさんある.NET Frameworkを使用できるため、生産性・機能においてC#が優れるとされています。

C#オブジェクト指向プログラミングである

C#はオブジェクト指向な型システムが採用されています。

と、急に難しい単語が出てきてしまいました。


オブジェクト指向とは、プログラミングに関する考え方で、「ある共通点を持ったもの」をひとまとまりにして、さらにその「もの」と「もの」との関係性を定義していくことでシステムを作り上げるシステム構成の概念を指します。

物体と物体の関係性を定義していくのが「オブジェクト指向」

上記のように「もの(オブジェクト)」「もの(オブジェクト)」の関係性を定義し、その「もの」がどのように「動くか(指向する)」かを決定します。
そのようにプログラムを構築していくのがオブジェクト指向プログラミングです。

C#はこのようなプログラミングの方法をとっているので、Unityのようなゲーム開発に向いているんですね。

※ちなみに「オブジェクト」とは、直訳すると「もの」、「対象」という意味ですが、プログラミングにおいてはデータと処理の集まりを意味しています。

実際のUnityゲームの開発画面

実際のUnityの開発画面が上記の画像です。

上記のように画面中央のスクリーンで「もの(オブジェクト)」を配置し、右のサイドバーで動きと処理(指向)を定義していきながら、ゲームは制作されています。

C#のまとめ

以上に述べたC#の特性をまとめると、他のプログラミング言語と比較して下記のような利点が挙げられます。

C#まとめ
・人気が高い
・Unityに使用されている
.NET Frameworkを使用できる
・オブジェクト指向であること
・初心者でも使いやすい

上記のようにメリットがたくさんあるため、C#はプログラミング初心者におすすめの言語です。
C#の学習、ぜひ始めてみませんか?

始めやすいように下記にC#を学ぶための完全ガイドを作成しています。
情報商材やプログラミングスクールとは違い、全て無料です
気軽にC#の勉強を始めてみてください!!

プログラミング初心者におすすめの入門書

プログラミングを本格的に学びたい方向け

プログラミングで挫折したくない方はこちらがおすすめ

C#,プログラミング言語

Posted by 9noike