プログラミングを学ぶには、実際にプログラムを作るのが一番ですが、それでは何のプログラムを何の言語で、どんなツールを使って作ればいいのでしょう?
私の意見としては、「Windows上で動くデスクトップアプリをVisual Studio + C#で開発する」 が一番のおすすめです。
この記事では、その理由についてご紹介します。
Windowsで動くアプリは応用が広い
スマートフォンはアップルのiPhoneが一番のシェアですが、個人パソコンと会社で使うパソコンは、圧倒的にWindowsが使われています。
Windows上で動けば、仕事で使うプログラムを自宅て作って会社に持って行ったり、同じ趣味の友人に使ってもらうことも容易です。
また、Windows だと様々な開発ツールが揃っており、特にマイクロソフト製の開発ツールはWindowsと相性が良く、使い方等の情報もインターネットを探せばすぐに見つけられるので、プログラム作成という観点からもWindowsのメリットは高いです。
以上のことから 自分で使うDIYプログラミングとしては、やはり一番応用しやすく開発ツールも重質しているWindowsが良いと思います。
独学するなら情報量が多いデスクトップアプリが安心
Windowsでは、 デスクトップアプリ、Consoleアプリ、Webアプリ、ユニバーサルアプリという4種類のアプリを開発し、動作させることが可能です。それぞれの特徴は次の通りです。
アプリの種類 | 特長 |
---|---|
デスクトップアプリ | ワードやエクセルなど、キーボードとマウスで操作する。 Consoleアプリより難しいが、Windowsの直感的な操作方法が使えるため、使い勝手は良い。 |
Consoleアプリ | 画面を持たず、 コマンドプロンプトへの文字入力で動作する。 覚える事は少なく一番難易度は低いが、操作性は悪く出来る事も限られている。 |
Webアプリ | Windows以外の環境でも、ブラウザがあれば動作するが、 裏でWebサーバと呼ばれる実行環境を稼動させておく必要がある。 環境構築やネットワークの知識が要求るため、難易度が高い。 |
ユニバーサルアプリ | タブレットやスマートホンなどで動作させることが想定されている。 デスクトップアプリより難易度は高く、デスクトップアプリに比べて制限も多い。 |
デスクトップアプリ
デスクトップアプリとは、Windowsのデスクトップ画面上で動作するアプリです。
動画再生や動画編集、画像編集、ワープロ、表計算、DVDライティングソフト、家計簿、ラベル印刷など、日頃使っているお馴染みのものです。
デスクトップアプリはConsoleアプリの次に歴史が古く次の特徴があります。
- 難易度はConsoleアプリとユニバーサルアプリの中間
- ネット上で多くの情報が公開されている
- GUIでの操作が基本であり、見た目や操作性がそこそこ良い
- フォルダ丸ごとコピー&ペーストするだけで、会社や友人のWindows10/11のパソコン上で動作させられる
一般的なWindows上のアプリと同じ操作性であるため、「作ったものを使う」という楽しみも味わえますし、独学する上で情報量が多いので、DYIにはピッタリではないかと思います。
Consoleアプリ
Consoleアプリとは、コマンドプロンプトで実行するコマンドのことです。Consoleアプリは難易度が一番低いですが、アプリの操作や結果の表示はテキストが基本になるため、見た目の面白さ(綺麗さ)は劣ります。
コンソールアプリはWindowsのパイプ機能を使って、いくつも繋げて実行することができます。パイプ機能とは、直前のアプリが出力した結果を、次のアプリの入力として流し込む機能のことで、Windows標準のコマンドと組み合わせることで、より複雑な処理が実現できます。
画面レイアウトが面倒な方は、こちらを選択するよが良いかもしれません。
Webアプリ
WebアプリはChromeやEdgeなどのブラウザで動作させるアプリケーションの事です。
裏ではWebサーバという動作環境を別途用意する必要があるため、作ったプログラムをコピーして会社や友人のパソコンで動作させるという事が出来ません。
企業向けのシステムやクラウド上のサービスでは Webアプリが主流となっているため、将来IT業界で働きたいのであれば、これを選択してもよいでしょう。
ユニバーサルアプリ
ユニバーサルアプリは、Windows10/11のPCだけでなく、モバイル端末(Windows10タブレット、Androidスマートフォン、iPhone )も含めて動作させることを前提としたアプリです。
ちなみに、WindowsアプリにはWindows Formと WPFという2種類の作り方が存在しますが、このサイトでは 両方を取り扱っています。
Androidや iPhoneのアプリの様に、作ったものを配布して課金するのであればユニバーサルアプリがお勧めですが、幅広いプラットフォームで動作させるには様々な決まり事が多く、また情報も少ないため難易度が高めです。
開発ツールはVisual Studio 2022 が便利
Windowsアプリの開発に使えるツールはいくつかありますが、画面のレイアウトを作成する点で見ると、Visual Studio が最も優れています。
Visual Studio はマイクロソフトの公式開発ツールです。2002年に 登場した Visual Studio 2002 から数えて11回のバージョンアップが行われ、2024年現在では Visual Studio 2022 が最新版になります。
業務で開発するための機能(複数人数での開発、高度なテスト機能など)を盛り込んだ有料版(プロフェッショナル)と、それらを省いた無料版(コミュニティー)がありますが、個人が使う限りは無料版で十分です。
似たようなツールで Eclipse というオープンソースのツールがあり、こちらは Java で開発する際によく用いられていますが、画面レイアウトを作成する部分ではVisual Studio の方が遥かに優れています。
ということで、Windowsアプリの開発を選択した時点で、開発ツールは Visual Studio 一択となります。
Visual Studio インストールの方法は「Visual Studio 2022 インストール手順」、使い方は「Visual Studio による画面レイアウトとプログラムの作成」の記事で紹介していますので、合わせてご覧ください。
プログラミング言語はそこそこ人気が高いC#が一押し
これは、私がWindowsアプリ専門に開発してきたからという理由もあるのですが、それ以外に次の利点があります。
- CやC++に比べて言語習得の難易度が低い
- Visual Studio.NETの プログラミング 言語としてマイクロソフトも力を入れている
- 且つ世界で使われている開発言語の上位に位置するメジャーな言語である
- ゲーム開発環境「UNITY」でも採用されている
ちなみに、C#はJavaと言語使用が似ており、C#からJavaへ、JavaからC#へ書き直すことは比較的容易です。
参考までにプログラミング言語のランキングを紹介しておきます。調査機関が異なると結果も異なるので、あくまでも参考値です。
まとめ
「プログラミングを学ぶならWindowsデスクトップアプリがお勧め」と題して、その理由について述べました。
理由としては次の通りです。
- Windowsは個人、企業ともにシェアが高く、Windowsで動くプログラムは応用が広い
- 出来上がったプログラムの操作性、独学時の情報収集のしやすさから Windowsアプリがベスト
- Windowsアプリを作成するなら、Visual Studio.NETが一番使いやすい
- プログラミング言語は、ランキング上位に位置し、3Dゲーム開発環境「UNITY」でも採用されているC#が 一押し
以上のことから、本記事では「Windows上で動くデスクトップアプリをVisual Studio + C#で開発する」という方針で記事を作成しています。
コメント