プログラミングを学ぶには、実際にプログラムを作るのが一番ですが、それでは何のプログラムを何の言語で、どんなツールを使って作ればいいのでしょう?
私の意見としては、「Windows上で動くデスクトップアプリをVisual Studio + C#で開発する」が一番のおすすめです。
この記事では、その理由についてご紹介します。
Windowsで動くアプリは応用が広い
スマートフォンはアップルのiPhoneが一番のシェアですが、個人パソコンと会社で使うパソコンは、圧倒的にWindowsが使われています。

引用元:NET MARKETSHARE
Windows上で動けば、仕事で使うプログラムを自宅て作って会社に持って行ったり、同じ趣味の友人に使ってもらうことも容易です。
また、Windows だと様々な開発ツールが揃っており、特にマイクロソフト製の開発ツールはWindowsと相性が良く、使い方等の情報もインターネットを探せばすぐに見つけられるので、プログラム作成という観点からもWindowsのメリットは高いです。
以上のことから 自分で使うDIYプログラミングとしては、やはり一番応用しやすく開発ツールも重質しているWindowsが良いと思います。
情報量が多いデスクトップアプリは独学に有利
Windowsでは、 Consoleアプリ、Webアプリ、デスクトップアプリ、ユニバーサルアプリの4種類が動きます。
アプリの種類 | 特長 |
---|---|
Consoleアプリ | 画面を持たず、 コマンドプロンプトへの文字入力で動作する。 覚える事は少なく一番難易度は低いが、操作性は悪く出来る事も限られている。 |
Webアプリ | Windows以外の環境でも、ブラウザがあれば動作するが、 裏でWebサーバと呼ばれる実行環境を稼動させておく必要がある。 環境構築やネットワークの知識が要求るため、難易度が高い。 |
デスクトップアプリ | ワードやエクセルなど、キーボードとマウスで操作する。 Consoleアプリより難しいが、Windowsの直感的な操作方法が使えるため、使い勝手は良い。 |
ユニバーサルアプリ | タブレットやスマートホンなどで動作させることが想定されている。 デスクトップアプリより難易度は高く、デスクトップアプリに比べて制限も多い。 |
Consoleアプリ
難易度の事を考えるとConsoleアプリが一番よいのですが、操作方法がCUIです。
CUIとは、Charactor User Interfaceの略で、キャラクタ=文字を使っての操作が基本となります。
ちなみに、Consoleアプリ以外はGUI (Graphical User Interface)と言って、マウスとキーボードを使って操作する、お馴染みのアプリのことを指します。
さて、このConsoleアプリですが、具体的には コマンド プロンプトにテキストのコマンドを入力することで、プログラムへの指示を行います。

プログラムの処理結果は、特に指定しない限りコマンドプロンプトにテキスト文字で表示されます。
従って、Consoleアプリは見た目の面白さに欠けますし、何よりテキストの入力が多くなるため操作が面倒です。
Webアプリ
一方、Webアプリはブラウザ上で動作するアプリケーションの事なのですが、裏ではWebサーバという動作環境が必須であるため、作ったプログラムだけコピーして会社や友人のパソコンで動作させるという事が出来ません。

自宅のパソコンをインターネットに公開するか、 レンタルサーバを使うという方法もありますが、前者はネットワークやセキュリティの知識が必要ですし、後者は別途費用が掛かります。
ユニバーサルアプリ
ユニバーサルアプリは、Windows10タブレット、Androidスマートフォン、iPhone と幅広いプラットフォームで動作させることを前提としたアプリです(実際は、作り方によります)。

これからの事を考えるとユニバーサルアプリも良い選択だとは思うのですが、幅広いプラットフォームで動作させるには、様々な決まり事が多く、それほどメジャーな存在ではないため情報量も少なめです。
デスクトップアプリ
デスクトップアプリとは、Windowsのデスクトップ画面上で動作するアプリケーションです。
動画再生や動画編集、画像編集、ワープロ、表計算、DVDライティングソフト、家計簿、ラベル印刷など、日頃使っているお馴染みのものです。
Webアプリはネットに接続している必要がありますが、Windowsアプリは必ずしもネットに接続する必要はありません(アプリの作り方によります)。

デスクトップアプリはConsoleアプリの次に歴史が古く
- 難易度はConsoleアプリとユニバーサルアプリの中間
- ネット上で多くの情報が公開されている
- GUIでの操作が基本であり、見た目や操作性がそこそこ良い
- フォルダ丸ごとコピー&ペーストするだけで、会社や友人のWindows10パソコン上で動作させられる
という特徴があります。
一般的なWindows上のアプリと同じ操作性であるため、「作ったものを使う」という楽しみも味わえますし、独学する上で情報量が多いので、DYIにはピッタリではないかと思います。
ちなみに、WindowsアプリにはWindows Formと WPFという2種類の作り方が存在しますが、このサイトでは 、より学習の敷居が低い Windows Formをメインに扱います。
開発ツールはVisual Studio.NETの独走状態
Windowsアプリの開発に使えるツールはいくつかありますが、画面のレイアウトを作成する点で見ると、Visual Studio.NET が最も優れています。

Visual Studio.NET はマイクロソフトの公式開発ツールで、2002年に 登場しました。
当時は有料ツールでしたが、2020年現在までに10回のバージョンアップが行われており、個人で使う範囲であれば完全フリーになっています。
似たようなツールで Eclipse というオープンソースのツールがあり、こちらは Java で開発する際によく用いられていますが、画面レイアウトを作成する機能はVisual Studio.NET の方が遥かに優れています。
ということで、Windowsアプリの開発を選択した時点で、開発ツールは Visual Studio.NET 一択となります。
本サイトでは、このVisual Studio.NET のインストール方法と簡単な使い方を紹介していますので、合わせてご覧ください。
プログラミング言語はそこそこ人気が高いC#が一押し
これは、私がWindowsアプリ専門に開発してきたからという理由もあるのですが、それ以外に
- CやC++に比べて言語習得の難易度が低い
- Visual Studio.NETの プログラミング 言語としてマイクロソフトも力を入れている
- 且つ世界で使われている開発言語の上位に位置するメジャーな言語である
- ゲーム開発環境「UNITY」でも採用されている
という点からC#が最も良いという結論に達しました。
ちなみに、C#はJavaと言語使用が似ており、C#からJavaへ、JavaからC#へ書き直すことは比較的容易です。
参考までにプログラミング言語のランキングを紹介しておきます。
調査機関が異なると結果も異なるので、あくまでも参考値です。


まとめ
結論として「Windows上で動くデスクトップアプリをVisual Studio + C#で開発する」という方向でで記事を作成していきます。
理由としては
- Windowsは個人、企業ともにシェアが高く、Windowsで動くプログラムは応用が広い
- 出来上がったプログラムの操作性、独学時の情報収集のしやすさから Windowsアプリがベスト
- Windowsアプリを作成するなら、Visual Studio.NETが一番使いやすい
- プログラミング言語は、ランキング上位に位置し、3Dゲーム開発環境「UNITY」でも採用されているC#が 一押し
という事です。
コメント