
目次
C#とは何でしょう
C#言語の基礎的な作法を覚えれば‥

「初心者教育の一環」としてC#を取り入れているIT企業が増えてきているんだ。
C#が使われているプログラミングにはこんなものがあります。
そこで本記事では
などについて詳しく解説していきます。
C#とはどんなプログラミング言語なのか
C#を習得したり、今後、「仕事用のプログラミング言語」として使って行く上で必要な知識を解説していきます。
C#の特徴

これは現役エンジニアが全員口を揃えていうことだよ。
オブジェクト指向って?
それらの特徴を盛り込んだ、「人間の感性に近いオブジェクト指向型言語」として生み出されたのがこのC#になります。
C#の動作環境
後の「C#」と「C#.Net」の違いで詳しく説明します
2019年4月にVisual Studio 2019が公開されました。
Visual Studio導入時の注意点
Visual Studioには.Net Frameworkという開発や実行を補助するツール(ライブラリ)が存在します。
また、サポートが切れているバージョンもあります。
導入前に確認!
- 0Sに対応しているか
- サポートは切れていないか
下記サイトで確認してください!
・マイクロソフト公式ブログ [Visual Studio] 開発ツール対応 OS 一覧
https://blogs.technet.microsoft.com/mssvrpmj/2018/11/20/vs_osall/・マイクロソフト公式ドキュメント .NET Framework のシステム要件
https://docs.microsoft.com/ja-jp/dotnet/framework/get-started/system-requirements
C#とC言語の違い
「C#」と「C言語」は全く違う言語です。
- プログラムの書き方
- 開発する環境
- 開発時の作法
など違いは多岐多数に渡ります。
「C#」は「C++」「VB」「java」と言う言語を足した形です。
「java」が一番近い言語になります。

「Microsoft Visual Studio」でCの開発環境として有名な「Linuxのviエディタ」「Windowsで動くBorland」などと比較しても「java」のIDEである「eclipse」似てるんだ
C#とC#.netの違い
「C#」と「C#.Net」には違いはありません。
違いは厳密にいえば違いはありますが、「C#」と「C#.Net」ほぼ同義です。
現在、プログラムを実行形式に直すコンパイラは.Net Frameworkが提供するJITコンパイラしか存在しません。
C#は以下の二つで分かれていました。

当初はそれぞれに専用のコンパイラが存在していたんだ
しかし、現在では公式に提供されているコンパイラがJITコンパイラしかありません。
補足:C#とC#.Netの歴史
「C#」と「C#.Net」がどのように統合されたのかを補足します。
年表 | バージョン | 補足 |
---|---|---|
『2002年』 | .Net Framework1.0 | 「C#」と「C#.Net」は別物として存在 |
『2003年』 | .Net Framwork1.1 | 「C#」と「C#.Net」は別物として存在 |
『2004年』 | .Net Framework1.1 SP1 | 「C#」と「C#.Net」は.Net寄りになっているが、それぞれのコンパイラが存在 |
『2005年』 | .Net Framework2.0 | 「C#」のコンパイラの開発が停止され、「C#.Net」に統合される |
『2004年』 | .Net Framework1.1 SP1 | 「C#」と「C#.Net」は.Net寄りになっているが、それぞれのコンパイラが存在 またこのころから「C#.Net」という呼び方が改められ、「Visual C#」と呼ばれるようになる |
『2006年』 | .Net Framework3.0 | ・「C#」と「C#.Net」の違いが一切なくなる |
C#の学習とプログラミング初心者におすすめの理由
ここからは「C#」が初心者におすすめの理由と他言語と比較した習得難易度を細かく見てきましょう。
C#がプログラミング入門者や初心者におすすめの理由
「C#」の学習がプログラミング初心者になぜおすすめなのか?
理由はこの2点です。
それぞれの理由を、細かく解説していきます。
専門知識を有していなくてもプログラムが組める
「C#」は専門知識を有していなくてもそれなりのプログラムが組むことができます。
Q.なぜ専門知識がなくてもプログラムが組めるのですか?
「C#」はVisual StudioというIDEで開発することを前提として作られています。
Visual Studioの補助機能や.Net Frameworkが提供する機能はとても多く、本来であればかなり高い専門性の知識を必要とする機能も簡単に実現できます。
例えば、暗号化や通信の仕組みの構築など本来ならかなり高度な知識が求められる機能です。
暗号化するためには「System」や「Security」、「Cryptography」などの機能を利用します。

しかし、これらの機能は本来であれば暗号化を理解し、数百行のプログラムを組まなければいけません

.Net Frameworkであればものの10行程度で実現できるのです。
新人プログラマであっても数カ月の内にシステムが組めるようになる
Q.なぜ、数ヶ月という短期間で実現できるのですか?
システムを組むには、ソースの結びつきや機能の呼出し順序などを理解しなければけません。
Visual Studioに備わっている機能
これらの機能はクラスダイアグラム、オブジェクトブラウザと呼ばれます。
C#を他の言語と比べた時の学習難易度

新人でも1カ月も経たないうちにWebサイトやアプリでなど簡単なものは組めるようになるよ。
大体の人は1年足らずでかなり大きなアプリが作れるようになったり、勘が鋭い人はゲームも作れるようになります。
C#学習難易度が簡単であるがゆえの注意点
「C#」は初心者でも「それなりに」作れてしまう反面、落とし穴もあります。
仕組みを理解すれば「C#」は「誰でも習得が可能な言語」です。
C#を勉強するときは、「プログラム本体の書き方を勉強する期間や労力」より次のことに重点をおこう
- 「intとは何か?stringとは何か」といった型の勉強
- 「varとは何か?objectとは何か」といった「なんでも入ってしまう型」の扱い
- 「ToStringとstring(値)、As string」「int.Parse、int(値)」といった型変換
例えば‥「数字の1」と「文字の1」は全くの別物
当然条件の「True」と文字で記載した「true」は別物。
つまり以下のようなプログラムは通るどころかエラーとなる
- if (1 = “1”)
- if (bln = “true”)

実際、「それなりに」作れてしまった人の大半がこの不具合に陥ります。
そのため、C#を勉強するときは、プログラム本体の書き方を勉強する期間や労力より
- 「intとは何か?stringとは何か」といった型の勉強
- 「varとは何か?objectとは何か」といった「なんでも入ってしまう型」の扱い
- 「ToStringとstring(値)、As string」「int.Parse、int(値)」といった型変換
などの勉強に注力した方が効率的に覚えられるのです。
「数字を文字に変換する」作業は何百回と書くことになるのでそこまで苦労はしません。
しかし、その「仕組み」を理解していないと、実際のシステムで「メジャーに行われいる処理」が理解できずに不具合になる原因になります。

例えば「応用として任意の文字をボタンに変換する」、「どのボタンやクリック時の動作を動的に制御する」などの「メジャーに行われいる処理」が理解できなくなります。
しかも厄介なことに、「それなりに」作れてしまった人は
といった障害にぶつかったりします。
この点を理解すれば、「C#」は「誰でも習得が可能な言語」になります。
C#でできること:C#はどんなサービスやプロダクトを開発できるか
ここからは世の中のどの分野で「C#」が使われているかを「業界別」にメジャーなところを解説していきます。
ゲームのクライアントの大半はC#で作られている
王道でいえばゲームになります。
メジャーゲームのドラゴンクエストやポケモンGOもC#で書かれた言語で作られています。
ゲームはこの二つに分けられます
- クライアント‥プレイヤーが実際に操作する画面
- サーバー‥データの通信をしたり、ソシャゲであればガチャの抽選を行う部分

現在この「クライアントの部分」の殆どはC#で書かれているんだ。
「Unity」や「Powered by Unity」という文字をゲーム起動時に見たことは無いでしょうか。
冒頭で挙げたゲームは、Unityの代表作です。
ホテル事業でもC#が使われている
ホテルのフロントの人が利用している端末にも「C#」が使われています。
これらの機能が「C#」を使った端末の機能です。

これらの機能はクライアントもサーバーも全て「C#」で作られていることが多いです。
他にも旅行の予約サイトも「C#」で組まれています。
自動釣銭機にはC#が使われている
近年主流になってきた自動釣銭機の世界シェアの50%ほどは「C#」が使われています。

「世界シェア80%を誇る外資系企業」の自動釣銭機レジの大半はC#で作られているんだ
例えば、ドラッグストアやスポーツ用品店大手デパートで使われているレジはC#で組まれています。
ただ、「C#」のみで作られているものはありません。「VBScript」や「java」「javascript」などで作られている機能もあります。
C#はどんな仕事につけるのか
C#はどのような仕事につかるかを実際の求人情報を参考に記載いたします。
C#を使う仕事の求人数
C#の求人数
2019年10月6日現在 598企業、1292求人
仕事内容も多岐に渡ります。
ARエンジニア
自動車産業
VR
NHKなど多岐多様年収の中央偏差は大体450万~500万前後です。

キャリアによっては700万以上を狙える求人もあるよ。
求人サイトなどには掲載されることは少ないですが、次の求人数が増えている傾向にあります。
C++やjavaで書かれたプログラムをC#に移行
「C++」や「java」のプログラムを「C#」で書き直す移行案件が比較的多い
Q.なぜ「C++」や「java」のプログラムを「C#」で書き直す移行案件が多いのですか
「C#」は「C++」よりも機能が充実しているため移行することで次のメリットが得られます。

このメリットが目的の案件が増えているんだ
また、「java」については最近版権がOracleになって(以前はサンマイクロシステム)有償化されています。
そういった流れもあって「C#」を利用する現場が多く存在します。
VB6のプログラムの移行

「Windows7」のサポート終了が発表されてから「Windows10」に環境を移す検証が行われているんだ。
下記の要因もあって「C#」でプログラムを書き直す案件が急増しています。
- 「VB6が一部正常に動作しない」という事例が多数挙がっている。
- Windows10は「.Net Framework」があらかじめ入っている
クラウド開発
高度な専門知識が要求されますが、クラウド開発に力を入れている現場が増えてきています。

そのため、「C#」を使う求人が増えてきています。
「クラウドサービスの処理を自動化するアプリ」の開発案件もあり、クラウドで管理する必要性のある保険会社がここに相当します。
⭐︎実際にアプリに使われているクラウドサービス処理事案
C#を使ったサービスなど
C#をメインで使っているサービスとしては
また、東京オリンピックに向けていろいろな会社がスマホやタブレットで独自サービスを提供しようとしています。

その技術として「C#」が主流とされている「Ruby」や「Python」と並んで注目されているんだ。
一部の会社ではオリンピックの会場にARとVR機能を使い、臨場感あふれるサービスを提供しようと試みています。
C#のおすすめの学習方法
C#のおすすめの学習方法
ここからはそれぞれの学習方法について解説していきます。
C#を学べる学習サービスのおすすめはオンライン受講サービス
引用元:Paizaラーニング
C#を学べる学習サービスとして「Paizaラーニング」というオンライン受講サービスがあります。
⭐︎Paizaラーニングでは

プログラミング学習はスクールに通うのが一番習得が早いんだ
Paizaラーニングの無料レッスンでは次のことを学べます。
・継承
・Dictionary(配列の使い方)
もちろん、現場で作業するためにはこの知識だけでは不十分です。
しかし、1日1章勉強するとして、30分程度でC#に慣れ親しむことができます。
まずは挫折せずに学習するために
- C#は難しくない
- C#を理解すればこれだけのことができる
と言うことを理解しましょう
C#を本で学ぶなら
C#を本で学ぶ際におすすめの書籍を紹介していきます。
つくって覚えるC#入門
著:オフィス加減
出版社 アスキー・メディアワークス
C#を初心者が本で学ぶなら「つくって覚えるC#入門」がオススメです。
この本がおすすめの理由

この本は「記載されたプログラムをそのまま入力」することでプログラムの動作を見ることができるよ。
初心者のうちは「なぜ動くか?」かは二の次でOK。
とにかく「動くものを作れるだけ作ってみる」ことが重要です。
独習C#
著:山田祥寛
出版社・翔泳社
こちらの「独習C#」という本もおすすめです。
しかし、先述したように初心者は理屈よりもとにかく動作実績を積んでください。
そうすると自ずと「動く仕組み」というのが少しずつ理解できるようになります。
まとめ
C#とは人間の感性に近いオブジェクト指向型言語です。
専門知識を持っていなくても、IDEの機能補助によってプログラムが組めるため、初心者でも「できる」ことを実感させてくれます。
また、新人プログラマでもシステムが組める環境が整っています。
すぐにプログラムが組める楽しさは、経験しないとわかりません。
C#が使える人材を、現在、企業は求めてます。
ぜひ、C#を学んでみましょう!
未経験からエンジニア転職!
副業・フリーランス転職にも完全対応!
社会人がエンジニア転職するなら
『プログラミングジャパン!』
まずは無料体験レッスンで詳しく話を聞いてみよう!