今回はC#入門編のイントロダクションということで、プログラミングを学ぶと何が良いか、そして初心者にC#がおすすめの理由を紹介します。
以下についてお話します。
1.プログラミングとは?
2.プログラミングを学ぶメリット5つ
3.初心者にC#がおすすめの理由
本記事は以下のYouTube動画(2022年5月)を元に最新情報でアップデートしたものです。よかったらこちらの動画も参考にしてください。
プログラミングとは?
プログラミングとは、コンピュータに特定の作業を行わせるための命令書(ソースコード)を書くことです。
プログラミングをする人がプログラマです。ソースコードは何らかのプログラミング言語を使って書きます。
例えば今回紹介するC#の他にも、Java、Pythonとかいろいろな言語がありますね。
なぜ言語がいろいろあるのかというと、それぞれの言語には得意不得意があるためです。
「XX作業をさせたい場合、YY言語を使うとより簡潔に命令書を書ける」といったことがあるので、プログラミング言語は複数存在しています。
どのプログラミング言語で書くにしろ、ソースコードは基本的に人が読み書きするためのもので、コンピュータがそのまま理解することはできません。
なので、ソースコードは機械語というコンピュータが理解できる言語に変換(翻訳のようなもの)をすることで、実際にコンピュータが命令を理解して作業できる命令書にします。
プログラマはソースコードをきちんと書いてくれればよく、機械語への変換は既存の自動化ツールがあるため、あんまり意識する必要はありません。
我々の身の回りにある様々なソフトウェア、サービスはプログラミングによって作られています。
- Google、Facebook、AmazonなどのWebサービス
- ゲーム(PS5、Switch、PC/スマホゲーム)
- Windows、Mac OS、AndroidといったOS(オペレーティングシステム)
- 自動車、航空機等の制御システム
- …
プログラミングって大変そう。すごい専門性なスキルを持った人がやることなのかな?
実は、プログラミングはPCさえあれば、誰でも簡単に始めることができます。
例えば、C#ならば以下の手順で簡単にプログラミングを始められます。
- Visual Studio をダウンロードしてインストール
- Visual Studio を起動して新規プロジェクトを作成
- プログラムをビルドして実行
この記事の元となっている動画にデモがありますので、よかったら見てください。
Visual Studioは統合開発環境の1つです。
統合開発環境はプログラミングをするときに色々と手助けをしてくれる便利なものです。
メモ帳のようなテキストエディタでソースコードを書くこともできますが、それだとかなり大変なので、通常は統合開発環境を使います。
統合開発環境は色々とありますが、C#でプログラミングをするならば、Visual Studioがおすすめです。
プログラミングを学ぶメリット5つ
プログラミングを学ぶメリット5つを紹介します。
- IT業界で働くためのスキルのひとつ
- 役に立つソフトやゲーム作品などを作ることができる
- 日々のちょっとした作業を効率化できる
- 思考力を強化できる
- 現代のインフラであるコンピュータ、ソフトウェアの理解が深まる
①IT業界で働くためのスキルのひとつ
プログラミングはIT業界で働くための重要なスキルのひとつであり、就職や転職では有利になります。
ChatGPTとか生成AIが登場してから、プログラマの仕事がなくなるかもっていう話も聞くんだけど…。
仕事がなくなるかはともかく、プログラマならば生成AIを最大限活用していくことは必須になるかと思います。
プログラミングはこれからも学ぶ価値があるかと思いますが、AI技術を使って高い生産性でコードを書けることが大事です。
生成AIの活用方法や生成AI時代のソフト開発で求められるスキルについては、以下の記事でまとめていますのでよかったらご覧ください。
②役に立つソフトやゲーム作品などを作ることができる
人の役に立つソフトや、楽しんでもらえるとゲーム作品など作って公開できます
有償ソフトウェア/サービスを公開してビジネス化するのもありですし、無償ソフトウェア、OSS(オープンソースソフトウェア)で公開するといったこともできます。
このような活動は趣味としても良いと思いますし、うまく収益化すればビジネスになる可能性もありますね。
また、特にオープンソースのソフトウェアを公開してそれが広く使われて有名になると、就職/転職活動でそれを経歴としてアピールするといったこともできます。
③日々のちょっとした作業を効率化できる
プログラミングができれば、定型的な作業を自動するプログラムを作ることで、作業を効率化できます
例えば私は、家計の支出や資産に関する情報を自動で収集してGoogleスプレッドシートで集計しています。
自分がいつもやっていて面倒だなと思う作業を自動化できると、プログラミングの便利さ嬉しさをすぐに実感しやすいですね。
④思考力を強化できる
プログラミングをすることで、問題解決・仮説検証・プログラミング的思考の能力を強化できます。
この中のプログラミング的思考とは「作業を細かく分解して、具体的で実行可能な手順に落とし込む」という思考力のことです。
これはコンピュータへの命令書を書くときに必要な能力そのものですし、プログラミングに限らずどんな仕事でも役立つ力ですね。
⑤現代のインフラであるコンピュータ、ソフトウェアの理解が深まる
これはすぐに役立つとかという話ではないのですが、プログラミング学習はそれ自体が教養としてとても価値あることかと思います。
プログラミングを学ぶことで、普段なにげなく使っているソフトウェアやサービスが裏でどのように動作しているのかが、なんとなくわかるようになってくるでしょう。
5つのメリットを紹介しました。
後半の③・④・⑤で説明したように、職業プログラマだけでなく多くの人にとってプログラミングを学ぶことは有用かと思います。
C#を選ぶ理由
C#の特徴
C#はMicrosoftで開発された言語で、以下のような特徴があります。
- 【1】言語(C#)と統合開発環境(Visual Studio)の連携が強力
→Visual Studioで快適なプログラミングができる - 【2】マルチパラダイムの言語
→プログラミングを楽にする色々な考え方が導入されている
(オブジェクト指向、関数型、ジェネリック、・・・) - 【3】Microsoftエコシステムとの親和性
→ Azure、Office365、PowerPlatform等との連携が容易 - 【4】マルチプラットフォーム
→いろいろな環境で動作する
(Windows、Android、iOS、XBox、・・・)
【1】Visual Studioとの連携
C#の大きな特徴としては言語(C#)と統合開発環境(Visual Studio)の連携が強力であるという点です。
Visual Studioがプログラミング作業をいろいろと支援をしてくれるため、快適にプログラミングできます。
ちなみに、C#とVisual Studioは連携が強力というよりも「セットで使うもの、組み合わせることで真価を発揮する」ぐらいに考えてもらってもよいです。
生成AIを使ったコード補完ツールGitHub CopilotはVisual Studioでも使えますよ!
コードを書くのが楽になるのでおすすめです!
【2】マルチパラダイム
C#はマルチパラダイムの言語です。
マルチパラダイム??
マルチパラダイムというと難しそうですね。
簡単に説明すると、C#という言語はプログラミングを楽にする色々な考え方が導入されているということです。
プログラミング言語の進化の歴史で、オブジェクト指向・関数型プログラミングといったプログラミングをより簡単にする考え方・仕組みが発明されてきました。
プログラミングを「より簡単にする」とは、言い換えれば「より人が直感的にコンピュータへの命令書を読み書きできるようにする」ということです。
C#は積極的に新しい考え方や仕組みを導入している言語かと思います。
【3】Microsoftエコシステムとの親和性
C#はMicrosftで開発されている言語です。
なので、Microsoftの提供するパブリッククラウド(Azure)や、Microsoft製品・サービス(Office365、PowerPlatform等)との連携が容易です。
Microsoft製品は企業の業務システムにおいて広く利用されているため、C#はそれらMicrosoftエコシステムとの親和性が高い点が強みと言えるでしょう。
【4】マルチプラットフォーム
C#はマルチプラットフォームでもありますので、Windowsだけではなく、いろいろな環境で動作します。
C#と他の言語を比較
C#の特徴はわかったけど、他のプログラミング言語と比較するとどうなのかな?
そこは気になる点ですよね。プログラミング言語の主要な人気ランキングをみてみましょう!
TIOBE Index
どれだけ検索エンジンで検索されているかの指標であるTIOBE Index (2024年4月時点)を見てみます。
C#は5位になっており、上位にはいっています。
ちなみに、1位はPython、2位がC言語、3位はC++、4位はJavaですね。
RedMonk Programming Language Rankings
次に、GitHub・Stack OverflowのデータにもとづいたRedMonk Programming Language Rankings(2024年1月時点)です。
GitHubはソフト開発者に広く使われている版管理のプラットフォームです。
Stack Overflowもこれまた広く使われているプログラミング等の議論を行うコミュニティです。
ここでもC#は5位と上位に入っていますね。1位から4位には、JavaScript、Python、Java、PHPが入っています。
人気上位のプログラミング言語について、私の主観も入っているのですが、それぞれ得意な領域は次のような感じかと思います。
Python→データ処理/解析、機械学習、Web開発など多岐
C/C++→低レイヤのシステムプログラミング、ゲーム開発、組込みシステム等
Java→大規模な企業向けのWebアプリ、Androidアプリ開発
JavaScript→Web開発のクライアント/サーバの両サイドで活用
PHP→Webアプリ開発のサーバサイドで活用
C#→Windowsアプリ、Unityによるゲーム開発、Web開発のクライアント/サーバの両サイドで活用
プログラミング初心者にC#がおすすめな理由
さて、このような様々な言語がある中で、初心者がプログラミングを学ぶのにC#がおすすめの理由は以下の2点です。
- ①広く使われているWindowsと相性が良い
- ②統合開発環境(Visual Studio)の支援が強力
①広く使われているWindowsと相性が良い
PCではWindowsのシェアは72%以上となっています。
(参考:statcounter)
仕事でWindowsを使っている人は、多いのではないでしょうか。
C#はMicrosoftの作っている言語なので、やはりWindowsとの相性はよいですね。
Windowsアプリケーションを作るときには、やはりC#でつくるのが楽だと感じることが多いです。
初心者が勉強するときには、業務で行っている作業を自動化する小さなWindowsアプリをまず作ってみるのも良いかもしれませんね。
②統合開発環境(Visual Studio)の支援が強力
C#の特徴でも触れましたが、統合開発環境(Visual Studio)の支援が強力です。
少し難しい話になりますが、例えばC#は「静的型付けの言語」なので、人がコードを書くときに統合開発環境がコード補完をしやすいという特徴があります。
C#と違ってPython、JavaScriptは「動的型付けの言語」なので、コード補完はちょっと苦手なんですね。
本記事では詳しく踏み込まないのですが、この「静的型付け」、「動的型付け」というのは、プログラミング言語としてとても大きな違いになります。
どちらにも長所短所があるのですが、
- 初心者がきちんと正しく動くソースコードを書く
- 大規模なソースコードを正しく動くようにきちんと書く
という点を考えると、C#のような静的型付けの言語を選んだ方が良いと私は思っています。
C#で何が作れる?
C#で実際にどのようなものが作れるかというと、以下のような3DオンラインゲームやWebアプリなど様々なものが作れます。
他にどういうものを作れるのか興味がある人は、GitHubなどでC#で作られたソフトウェアを探してみるとよいでしょう。
まとめ
プログラミングとそれを学ぶメリットについて説明しました。
プログラミングは就職・転職に有利になる・日々の作業を効率化できる・思考力の強化できるなど多くの人にとって学ぶメリットがあります。
C#はWindowsと相性がよく、統合開発環境の支援が強力です。そのため、導入の敷居が低くプログラミングを助けてくれる仕組みが整っています。
本ブログでは初心者がC#について学習するためのコンテンツをいろいろ作っています。YouTubeの動画もあわせて作っています。
C#の基本を学んでみたい思った方はC#入門編をぜひ御覧ください。
C#によるWebアプリ開発について興味のある方は、Webアプリ開発編を御覧ください。
プログラミングの学習方法については以下も参考にしてください。
引き続き、一緒にC#やアプリ開発を学んでいきましょう!