一般に、プログラム開発言語は数百種類はあると言われています。
では、デスクトップアプリを開発しようと思った場合、どの開発言語を選ぶのが良いのでしょう?
今回は、その理由を解説したいと思います。
WindowsとMacのどちらに重点を置くか?
デスクトップアプリといえば大きく2種類が存在します。
1つはパソコンで90%のシェアを誇るWindows用、もう1つはクリエイターに根強い人気があるMac用です。
もしMacのアプリを開発したいのであれば、Swift、もしくはJavaが候補に上がります。
Windowsのアプリを開発したいのであれば、C#,VB.NET,Java が候補に上がります。
人気のPythonやC/C++はデスクトップアプリに不向き
最近人気のPythonや、古くからあるC/C++でもデスクトップアプリを作ることは可能です。
しかし、C#、VB.NET、Javaに比べると開発環境(Visual StudioやEclips などの開発ツール)が貧弱だったり、制限が多かったりで使うメリットはほとんどありません。
下記表は、有名どころの開発言語について、用途による向き不向きをまとめたものです。
ソフトウエアの種類 | Python | Java | C# | VB.NET | C/C++ | Swift | PHP | Perl |
---|---|---|---|---|---|---|---|---|
デスクトップアプリ(Windows) | △ | ○ | ◎ | ◎ | △ | × | × | × |
デスクトップアプリ(Mac) | × | ○ | ○ | × | × | ◎ | × | × |
Webアプリ | △ | ◎ | ◎ | ○ | × | ○ | ◎ | ◎ |
スマートフォン(Android) | × | ◎ | ○ | × | × | × | × | × |
スマートフォン(iPhone) | × | × | ○ | × | × | ◎ | × | × |
Windowsタブレット | × | × | ○ | × | × | × | × | × |
iPad | × | × | ○ | × | × | × | × | × |
3Dゲーム | × | × | ◎ | × | ◎ | × | × | × |
△:出来ない事は無いが、生産性が低いため苦労に見合うメリットが無い
○:◎に比べて普及率は低いものの、実際の現場で使われている
◎:業界でよく使われている
この結果からデスクトップアプリを考えた場合、Windowsなら C#、VB.NET、Javaの3言語、MacOSなら Swift か Javaの2言語しか選択肢が無いことがうかがえます。
WindowsとMacの両方を開発するならC#
では、C#、VB.NET、Java、Siwftに絞って、開発言語ごとにWindowsとMacのどちらが開発できるかを見ていきましょう。
C#はWindowsとMacの両方をサポート
C#にはVisual Studioという開発ツールがマイクロソフトから提供されています。
有償の開発ツールなのですが、大人数のチーム開発で使う機能が省かれたコミニティー版は無料で使えます。
このツールはマルチプラットフォームに対応しており、Windows以外にも、MacOS用AndroidやiPhoneなどのスマートフォン用、タブレット用のアプリも開発できるようになっています。
また、スマートホンを中心とした3Dゲームの開発エンジンであるUNITYはC#を正式サポートしているため、C#を覚えておくと何かと応用が利きます。
Javaは開発ツールを分けることでWindowsとMacに対応
JavaもWindowsとMacの両方に対応している言語です。
C#と異なるのは、Winodwsのアプリ開発だとEcripse、MacだとXCODEという風に0開発ツールを使い分ける必要があります。
もともとXCODEはSwift と相性が良く、JavaはXCODEがサポートしているという位置づけであるため、開発者がどうしてもJavaで開発したいというニーズが無ければ、Swiftを選んだ方が無難です。
SwiftはMac(iOS)専用
Macのアプリは、以前はObjective-C という開発言語が主流でしたが、今はSwiftに置き換わっています。
いずれにせよMacやiPhoneなどアップルのハードウェアを使う事を前提にした開発言語であるため、Windowsのアプリは開発できません。
VB.NETはMacアプリを開発できない
最後になりましたが、VB.NETはMacアプリ開発に対応していません。
もう少し詳しく言うと、C#は Windows、iOS、Android に対応しているのですが、VB.NETはWindowsのOS以外対応していません。
C#はWindowsデスクトップで広く使われている
マイクロソフトのWindowsは1990年に登場し、今年で30年になります。
パソコンは当時高価な存在でしたので一般ユーザーが購入するには高額でしたが、企業の業務用途としては価格が安かったため、広く普及しました。
業務用途として使われだすと、各企業の業務形態に合わせた業務ソフトの需要が高まり、マイクロソフトの開発ツールや開発言語が普及することになります。
昨今では業務アプリと言えばWebアプリが多く、JavaやPerl、PHPなどの言語がよく使われるようになりました。
しかし、操作性や処理速度が重視されたり、ネットワークが繋がらない場所で業務を遂行するなどのケースでは、今もデスクトップアプリが開発され続けており、その主要言語としてC#が広く使われています。
どの言語が使われているかを様々な企業が調査していて、順位は調査会社によって微妙に差異はありますが、おおむねC#は上位に登場していることからも、C#の需要はこれからも続いていくものと思います。
出展:日経XTECH
出展:PYPL PopularitY of Programming Language
出展:TIOBE Index
まとめ
Macでのデスクトップ開発に重点を置くなら swift、Windowsで動くデスクトップアプリに重点を置くならC# がオススメです。
C#は普及しているだけあって情報も豊富です。
C#とJavaは共にC言語をベースにしていることもあるため、構文は非常に似通っています。
将来、趣味から転じてプログラミングの仕事をする事を考えても、C#を選んでおいて間違いはないでしょう。
コメント