気ままにやっていくプログラミングとかブログ

中学1年生が気ままにプログラムのことを中心に書いていくブログです。

C#のメリット&デメリット

にほんブログ村 IT技術ブログへ
にほんブログ村

 Kitachisukuと申します。初投稿です。

C#(.Net上で動作する言語)でアプリを作ってたりするのですが、

私が感じたC#のメリット、デメリットについて話します。

㊟筆者の考えがとてつもなく入っています。

 


  1. メリット
    • 動作速度が速い
    • exe化できる
    • バイナリサイズが小さい
    • 一部のツールはWindowsに標準で入っている
    • Visual Basicと連携ができる
    • 開発ツールが使いやすい
  2. デメリット

 

メリット

  • 動作速度が速い
 C#は、
 C/C++に匹敵するほどの動作速度を持っています。
 人間から見ると何が起こっているかわからないレベルの動作速度です。
 
  • exe化できる
 C#コンパイルでexeにできます。
 Javaだったら.jar、Pythonだったら.py,.pywがありますが、
 これらにはアイコンが固定されるなどの欠点があります。
 ですが、
 C#は.exe化できるので、
 特定のアイコンに変更できたり、
 バージョン情報を入れられたり、
 わざわざREADMEとかに「〇〇というソフトを入れないと動きません。」
 などと書かなくてもいいという利点があります。
  • バイナリサイズが小さい
 C#は必要な情報などが最低限なので、
 バイナリサイズが小さくなります。
 C++(MinGW)と比べてみます。 
 
 C++(MinGW[x64] G++ version 8.1.0)
#include <iostream>

int main()
{
    std::cout << "Hello would!";
    return 0;
}
 C#(.Net Framework x64 v4.0.30319)
using System;

namespace Hello
{
    class App
    {
        [STAThread]
        static void Main()
        {
            Console.Write("Hello would!");
        }
    }
}
 
 結果
  C++ C#
サイズ 55KB 4KB
 約13分の一にもなっていることが確認できます。
  •  一部のツールはWindowsに標準で入っている
 .Net Frameworkという、
 Windows特化の.Net環境が入っています。
 そのため、
 .Net Frameworkで作ったプログラムは、
 他のWindows環境でも動作する可能性が高いです。
 Visual Basicも、
 C#と同じく.Netで動作する言語です。
 コンパイラが違うだけで、
 バイナリとしては同じものです。
 そのため、
 C#からVisual Basicのライブラリを参照できたりします。
  • 開発ツールが使いやすい
 正確に言うと、
 これはC#ではないんですが、
 C#をプログラムするのに公式(Microsoft)は
 「Visual Studio」を推奨しています。
  そのVisual Studioがすごい使いやすいんです。
 本来有料ソフトですが、
 個人利用なら一部の機能が商用にも使え、
 条件を満たせば小規模な団体など*1であれば、
 無料で使用できます。
 
デメリット
 マルチプラットフォームの開発には
 「.Net 5」や「.Net Core」を使いますが、
 標準であるWPF,UWPはWindows専用で、
 そのままではMacLinuxでは使えません。
 しかし、
 あくまで標準で無いだけであって、
 外部ライブラリを使えばGUIを使用できます。
 今回は「GTK#」と「Mono」を紹介します。
1.GTK#
   GTK#は、
   C言語GUIツールキット「GTK+」を、
   C#で使えるようにしたライブラリです。
   導入方法は、
   MSYS2をここからインストールし、
   MSYS2で以下のコマンドを打ち込んだらGTK+をインストールでき、
pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-glade
   次にコマンドプロンプトを開き、
dotnet new --install GtkSharp.Template.CSharp
と打ち込むとGTK#がインストールできます。
プロジェクトを作成するときに、
dotnet new gtkapp
とすればGTK#のアプリが作成できます。
 
 2.Mono
   Monoは、
   .Net FrameworkをMac,Linuxなどで利用できるようにしたものです。
   互換性ももちろんあります。
   ここからダウンロードしてインストールします。
  • 開発ツールを本格的に使うと高い
 はい、これもC#のデメリットじゃないですね。
 Visual Studioは個人使用ならいいんですが、
 やっぱり会社とかで使うとライセンス料がかかります。
 しかも結構高いんですよこれが...
 まあ使えればいいツールです。
 
このように、
C#にもメリット&デメリットがありますが、
C#は使いやすいので、
C#を使うのを僕はお勧めします。
 
ちなみにC#はUnityとかでも使われてます。
 
この記事が参考になればうれしいです。
では。
よろしければ評価をお願いします。
 
これは初投稿やで? ←前   次→

*1:Wikipediaから抜粋

  • 個人開発者
  • 大学関係者
  • 非営利団体従事者
  • オープンソース開発者
  • 開発者5名以下の中小企業(PC台数250台未満もしくはユーザー数250人未満、かつ年間収益100万米国ドル未満の企業)