TL

Language Profile

C#

Microsoft(Anders Hejlsberg) / 2000年登場

Microsoft の .NET 言語言語機能が豊富で書きやすく、業務アプリ・Web バックエンド・ゲーム(Unity)まで幅広い

TL;DR要点だけ先に
  • 1.Microsoft の .NET 製マルチパラダイム言語。
  • 2.言語機能が豊富で生産性が高い。
  • 3.Unity でゲームを作るなら C# が定番。

Specifications

基本情報

Introducing

C# のロゴ
C#Microsoft の .NET 言語。言語機能が豊富で書きやすく、業務アプリ・Web バックエンド・ゲーム(Unity)まで幅広い。
型付け
静的強い型付け
実行方式
.NETJIT / AOT)
パラダイム
マルチパラダイムOOP + 関数)
登場
2000年Microsoft(Anders Hejlsberg)
この言語の強み
言語機能が豊富で生産性が高い.NET の高性能・統合エコシステム
活躍する領域
業務アプリWebASP.NET)ゲーム(Unity) / デスクトップアプリ

Decision Guide

選定ポイント

採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。

Why It Fits

選ぶ理由

  1. 言語機能が豊富で生産性が高い
  2. .NET の高性能・統合エコシステム
  3. Unity でゲーム開発の定番

Trade-offs

考慮すべき点

  1. 歴史的に Windows 寄り(現在はクロスプラットフォーム)
  2. ランタイムが大きめ

Best Fit

こんな用途に向く

業務アプリ・Web(ASP.NET)ゲーム(Unity)デスクトップアプリ

Deep Dive

もっと詳しく

どんな言語か

C#(シーシャープ)は 2000 年に Microsoft が公開した言語で、設計は Anders Hejlsberg が主導しました。.NET というプラットフォーム上で動くことを前提に作られ、Java の影響を受けつつ、より新しい言語機能を積極的に取り込んできた点が特徴です。

C# の核心は「言語機能の豊富さと生産性」です。プロパティ、async/await による非同期処理、LINQ によるデータ操作など、よく使う処理を言語レベルで簡潔に書ける仕組みが揃っています。書きたいことを少ないコードで安全に表現できるため、業務アプリ開発で高い効率を発揮します。

どこで活躍するか

  • Unity と組み合わせたゲーム開発の定番言語。
  • Windows のデスクトップ/業務アプリ。
  • Web API・サーバーサイド(ASP.NET)。

かつては Windows 専用の印象が強い言語でしたが、今の .NET はクロスプラットフォームで、Windows / macOS / Linux 上で動きます。

得意なこと・不得意なこと

Microsoft 製ツール(とくに Visual Studio)との統合が強力で、補完やデバッグの体験が良いのが強みです。一方、エコシステムの中心が依然 Microsoft 寄りで、運用環境や周辺ツールの選び方に Windows / .NET の前提が残る場面があります。

つまずきやすいところ

// プロパティや LINQ など言語機能が豊富
var names = new[] { "Aoi", "Ren" };
// 配列から条件で絞り込み、新しい列を作る
var shorts = names.Where(n => n.Length <= 3).ToList();
  • null 参照例外。近年は nullable 参照型で対策できる。
  • .NET の世代(Framework と新しい .NET)の違いに注意。

Language Decision

C#を実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

業務アプリ・Web(ASP.NET)

比較で見る軸

型付け: 静的・強い型付け / 実行方式: .NET(JIT / AOT) / パラダイム: マルチパラダイム(OOP + 関数)

導入後に効く点

.NET の高性能・統合エコシステム

先に潰すリスク

歴史的に Windows 寄り(現在はクロスプラットフォーム)

数字・仕様の読み方
型付け
静的・強い型付け
実行方式
.NET(JIT / AOT)
パラダイム
マルチパラダイム(OOP + 関数)
登場
2000年
Microsoft(Anders Hejlsberg)

判断チェックリスト

  • 自社の用途が「業務アプリ・Web(ASP.NET) / ゲーム(Unity)」に近いか確認する。
  • 強みである「言語機能が豊富で生産性が高い」が本当に評価軸になるか確認する。
  • 注意点の「歴史的に Windows 寄り(現在はクロスプラットフォーム)」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

業務アプリ・Web(ASP.NET)ゲーム(Unity)デスクトップアプリ

First Step

Hello, World!

Console.WriteLine("Hello, World!");
公式ドキュメント