Why It Fits
選ぶ理由
- 言語機能が豊富で生産性が高い
- .NET の高性能・統合エコシステム
- Unity でゲーム開発の定番
Language Profile
Microsoft(Anders Hejlsberg) / 2000年登場
Microsoft の .NET 言語。言語機能が豊富で書きやすく、業務アプリ・Web バックエンド・ゲーム(Unity)まで幅広い。
Specifications
Introducing
Decision Guide
採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。
Why It Fits
Trade-offs
Best Fit
Deep Dive
C#(シーシャープ)は 2000 年に Microsoft が公開した言語で、設計は Anders Hejlsberg が主導しました。.NET というプラットフォーム上で動くことを前提に作られ、Java の影響を受けつつ、より新しい言語機能を積極的に取り込んできた点が特徴です。
C# の核心は「言語機能の豊富さと生産性」です。プロパティ、async/await による非同期処理、LINQ によるデータ操作など、よく使う処理を言語レベルで簡潔に書ける仕組みが揃っています。書きたいことを少ないコードで安全に表現できるため、業務アプリ開発で高い効率を発揮します。
かつては 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 参照型で対策できる。Language Decision
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
業務アプリ・Web(ASP.NET)
型付け: 静的・強い型付け / 実行方式: .NET(JIT / AOT) / パラダイム: マルチパラダイム(OOP + 関数)
.NET の高性能・統合エコシステム
歴史的に Windows 寄り(現在はクロスプラットフォーム)
First Step
Console.WriteLine("Hello, World!");公式ドキュメント