Windowsユーザーの方に向けて、Windowsアプリが開発できるおすすめのプログラミング言語を4つ厳選し、その主な用途や、人気のフレームワーク、環境構築の手順、学習方法などをご紹介します。
1.【Windowsユーザー向け】おすすめプログラミング言語4選
Windowsユーザー向けのプログラミング言語では、「C#」「Visual Basic.NET」「C++」「Node.js」の4つがおすすめです。その選定基準と概要について、ご紹介します。
1.1 選定基準
本記事で「C#」「Visual Basic.NET」「C++」「Node.js」の4つをおすすめとした理由を、ご紹介します。
■ Windowsアプリの開発が可能か
選定基準の一つ目として、まず「Windowsアプリの開発が可能か」という点が挙げられます。このWindowsアプリの開発を容易にするのが、.NET Frameworkです。Visual Basic、C#、C++、F#など、数多くの言語に対応しています。
■ 汎用性
二つ目の基準は、汎用性の高さです。例えばC#であれば開発環境であるVisual StudioをUnityに連携させてゲーム制作が可能である点や、Node.jsであればElectronの利用でWindowsとmacOSの両OSのアプリケーションを1つのコードから作ることができる点などを重視しています。
■ 学習コスト
三つ目の基準は、学習コストの低さです。環境構築に要する時間が短くすぐに学習が始められる言語や、ウェブ上で閲覧可能な日本語のドキュメントが充実している言語などを重視しています。
1.2 C#
まず一つ目のおすすめ言語は、「C#」です。
■ 主な用途
C#の主な用途には、次のようなものが挙げられます。
項目名 | 概要 |
---|---|
コンソールアプリ開発 | コンソール上でコマンドを入力して実行する、CLIアプリケーションを開発することができる |
Webアプリ開発 | Azure だけでなく AWS や GCP などのクラウドにもデプロイ可能なWeb上で動くアプリケーションを開発することができる |
Web API開発 | HTTPプロトコルを用いて、外部から呼び出して使うことができるWeb APIを開発することができる |
サーバーレスプラットフォーム上での開発 | Azure FunctionsやAWS Lambdaなどの、サーバーレスサービス上で開発を行うことができる |
Webフロントエンド開発 | Webアプリケーションのフロントエンド開発を行うことができる |
モバイルアプリ開発 | AndroidやiOSといった、モバイル OS 用のアプリ開発を行うことができる |
Windowsアプリ開発 | Windowsのデスクトップアプリ開発を行うことができる |
機械学習 | ML.NETを使用することで、機械学習を実装することができる |
ゲーム開発&MR(VR/AR)開発 | Unityを用いて、ゲーム開発を行うことができる |
IoT 開発 | Azure IoT Edgeを用いて、モジュール開発を行うことができる |
■ フレームワーク
C#の主なフレームワークには「ASP.NET」と「Xamarin」の二種類があります。
それぞれの特徴は、次の通りです。
ASP.NET | |
---|---|
用途 | WebアプリケーションやWebサービスの開発 |
最新バージョン | .NET Framework 4.8 |
公式サイトURL | https://dotnet.microsoft.com/en-us/apps/aspnet |
動作環境 | プロセッサ:1GHz
RAM:512 MB 最小空きディスク領域:4.5GB |
Xamarin | |
---|---|
用途 | モバイルアプリ、Mono を利用したアプリケーション、UWPアプリなど |
最新バージョン | 明示なし |
公式サイトURL | https://docs.microsoft.com/ja-jp/xamarin/ |
動作環境 | プロセッサ:1.8GHz
RAM:4GB ハード ディスク容量:最小850MB |
■ 環境構築
開発環境としてVisual Studio Communityを使用する場合、環境構築は次の手順で行います。
● Visual Studio Community のページにある「Visual Studio のダウンロード」をクリックし、「VisualStudioSetup.exe」をダウンロードする
● ダウンロードしたexeファイルを実行する
●「Visual Studio Installer」が表示されたら「続行」を押す
● ワークロードの選択画面が表示されたら、用途によって次のチェックを入れる。
▸ ASP.NETでWebアプリ開発・・・「ASP.NETとWeb開発」にチェック
▸ Xamarinでモバイルアプリ開発・・・「.NETによるモバイル開発」にチェック
▸ デスクトップアプリ開発・・・「.NETデスクトップ開発」にチェック
● 必要ならオプションを追加して、右下の「インストール」ボタンを押す
● インストールが完了し「再起動が必要です」と表示されたら「再起動」を押す
■ 学習方法
C#を独学するには、次のように「学習サイトで学ぶ」「参考書で学ぶ」という二つの方法があります。
【学習サイトで学ぶ】
授業形式で学ぶことが合っている人におすすめなのは、学習サイト「ドットインストール」を利用する方法です。現在はプレミアム会員のみが対象のコンテンツで、料金は他の授業も含めて受け放題で月額1080円です。授業動画の視聴だけでなく、授業の文字起こしの確認、ソースコードの比較、先生への質問などが行えます。参考書を読むよりも授業を受ける方が合っているという方に、おすすめです。
【参考書で学ぶ】
1.3 Visual Basic.NET
二つ目のおすすめ言語は、「Visual Basic.NET」です。
VB.NETと似た言語に、VB、VBA、VBScriptがあります。その違いを表にまとめました。
VB | 1990年代にMicrosoftが開発していたプログラミング言語 |
---|---|
VB.NET | VBの後継となるプログラミング言語 |
VBA | ExcelやAccessなどOffice製品を操作するための、VBを簡略化したプログラミング言語 |
VBScript | VB風のスクリプト言語 |
■ 主な用途
項目名 | 概要 |
---|---|
コンソールアプリ開発 | コンソール上でコマンドを入力して実行する、CLIアプリケーションを開発することができる |
UWPアプリ開発 | ユニバーサルWindowsプラットフォームで動くアプリを開発することができる |
WPFアプリ開発 | Windowsのデスクトップアプリ開発を行うことができる
ActiveXでUIが作成されている |
Windowsフォームアプリ開発 | Windowsのデスクトップアプリ開発を行うことができる
Win32apiでUIが作成されている |
Webアプリ開発 | AzureだけでなくAWSやGCPなどのクラウドにもデプロイ可能なWeb上で動くアプリケーションを開発することができる |
■ フレームワーク
VB.NETでも、C#同様にASP.NETを使ってWebアプリケーションやWebサービスの開発を行うことができます。
■ 環境構築
開発環境としてVisual Studio Communityを使用する場合、環境構築はC#と同じ手順で行います。ワークロードから必要な項目を選択する部分で、Webアプリ開発かフォームアプリ開発かの目的によって、チェックする項目を変更してください。
■ 学習方法
VB.NETを独学するために、おすすめの参考書をご紹介します。
1.4 C++
三つ目のおすすめ言語は、「C++」です。
C++と似た言語に、C言語、C#があります。その違いを表にまとめました。
C | 1972年にAT&Tベル研究所が開発した汎用プログラミング言語 |
---|---|
C++ | 手続き型のプログラミング言語であるC言語に、オブジェクト指向などを組み合わせて拡張した汎用プログラミング言語
開発効率を高めるための様々な機能が追加されている |
C# | Unityなどゲーム開発言語としても使えるほか、業務システム開発やWebアプリ開発の現場でも利用されている |
■ 主な用途
C言語を拡張して作られたC++は、極論を言うと、プログラミングで作成するものについてはほぼ何でも作ることができます。
中でも主な用途には、次のようなものが挙げられます。
項目名 | 概要 |
---|---|
コンソールアプリ開発 | コンソール上でコマンドを入力して実行する、CLIアプリケーションを開発することができる |
大規模業務システム開発 | 開発に数十名が参加するような、大規模な業務システム開発を行う |
人工知能(AI) | ディープラーニングや人工知能の開発に使われている。Pythonの処理系にも、C++で書かれているものがある |
制御システム開発 | ロボットなど様々な機械の制御システム開発に使われている |
組み込みシステム開発 | 家電製品や情報機器の組み込みシステムの開発に使われている |
DirectXゲーム開発 | コンシューマーゲームの開発や、ゲーム機本体の制御を行うソフトウェアの開発などにも使われている |
■ フレームワーク
C++で人気のフレームワークには「Drogon」と「Qt」の二種類が挙げられます。
それぞれの特徴は、次の通りです。
Drogon | |
---|---|
用途 | WebアプリケーションやWebサービスの開発 |
最新バージョン | dorogon 1.7.3 |
公式サイトURL | https://drogon.docsforge.com/ |
動作環境 | 指定なし |
Drogonは2018年に発表された比較的新しいフレームワークです。しかしその処理スピードはさすがC++という圧巻の早さで、2020年5月末に実施された主要フレームワークのベンチマーク計測結果ランキングではこのDrogonが1位になりました。今は日本語のドキュメントが少ない状況ですが、今後注目のフレームワークです。
▶ 参考:Web Framework Benchmarks
Qt | |
---|---|
用途 | クロスプラットフォームアプリの開発 |
最新バージョン | Qt 6.2 |
公式サイトURL | https://www.qt.io/ja-jp/ |
動作環境 | 指定なし |
Qtは、ただ一つのコードをこれでデプロイするだけで、プラットフォームを問わずに展開できるというフレームワークです。クロスプラットフォーム開発の手間を省けるだけでなく、日本語のドキュメントが充実しているという利点もあります。
■ 環境構築
C++の開発環境構築には様々な方法がありますが、開発環境としてVisual Studio Communityを使用する場合、環境構築はC#と同じ手順で行うことができます。
ワークロードから必要な項目を選択する部分で、以下のように「C++によるデスクトップ開発」や「C++によるモバイル開発」など、用途に合わせて選択してください。
■ 学習方法
C++を独学するために、おすすめの参考書をご紹介します。
1.5 Node.js
冒頭で紹介した選定基準のうち二つ目である「汎用性」を重視して選んだのが、この「Node.js」です。フレームワークであるElectronを使うことで、Windows/Mac両対応のデスクトップアプリを開発することが可能です。サーバーサイドでJavaScriptを動かすための実行環境であることから、フロントエンド側のJavaScriptの知識がある方には学習コストが低めであることもポイントです。
■ 主な用途
Node.jsの主な用途には、次のようなものが挙げられます。
項目名 | 概要 |
---|---|
Webアプリ開発 | Web上で動くアプリケーションを開発することができる |
モバイルアプリ開発 | AndroidやiOSといった、モバイルOS用のアプリ開発を行うことができる |
■ フレームワーク
Node.jsで人気のフレームワークには「Electron」が挙げられます。
Electronの特徴は、次の通りです。
Electron | |
---|---|
用途 | クロスプラットフォームのデスクトップアプリケーション開発 |
最新バージョン | Electron 17.0.0 |
公式サイトURL | https://www.electronjs.org/ |
動作環境 | 指定なし |
■ 環境構築
Node.jsの開発環境構築にも様々な方法がありますが、開発環境としてVisual Studio Communityを使用する場合、環境構築はC#と同じ手順で行うことができます。ワークロードから必要な項目を選択する部分で、以下のように「Node.js 開発」を選択してください。
■ 学習方法
Node.jsを独学するには、次のように「学習サイトで学ぶ」「参考書で学ぶ」という二つの方法があります。
【学習サイトで学ぶ】
Node.jsについても、「ドットインストール」に入門講座があります。こちらも現在はプレミアム会員のみが対象のコンテンツですが、授業動画の視聴や先生への質問などが行えるので、授業スタイルが合っているという方におすすめです。
【参考書で学ぶ】
2. まとめ
Windows向けプログラミング言語のおすすめ4選について、いかがでしたでしょうか。これらの言語には難度が高いものもありますが、古くからあるにも関わらず、今も需要が高く求人も豊富で、学んでおいて損のない言語ばかりです。これからWindowsでプログラミングを始めたいという方へ、参考になれば幸いです。