.NET は素晴らしい、あなたはそれについて誤解しているかもしれません

.NET は素晴らしい、あなたはそれについて誤解しているかもしれません

この記事ではNV GPUトレーニングについて説明します。CPUトレーニングは参考程度に、異なる部分については公式ウェブサイトで情報を入手してください。

最終更新 2022/03/30 11:11
全球技术精选
読了目安 3 分
カテゴリ
.NET
タグ
.NET C#

20年前の2002年、マイクロソフトは次世代のソフトウェアとサービスのビジョンとロードマップを発表し、2月13日にVisual Studio .NETがリリースされました。.NET開発プラットフォームの最初のバージョンが正式に世界に公開されました。

それから現在まで、.NETは20年を迎え、成熟した安定したプラットフォームに成長しました。

しかし、多くの開発者が依然として.NETに対して偏見や誤解を持っていることに気づきました。それらの誤解を解消しましょう!

もしあなたの周りにもそういった友人がいるなら、この記事をぜひ転送してください。

誤解1:.NETはWindowsでしか動作しない?

実際、この説は初期の.NET時代から存在しており、実際に.NET Frameworkは当初Windows向けに構築されていました。多くのWin32 APIへの参照が含まれていたため、クロスプラットフォーム化が困難でした。

マイクロソフトが2016年に.NET Coreに真剣に取り組み始めるまで、Monoの問題やWin32 APIへの根強い依存に対処し始めることはありませんでした。しかし初期の段階では、.NET Core、.NET Framework、.NET Standardといった用語が開発者を混乱させました。幸いなことに、.NET 5と現在の.NET 6では、こうした混乱は過去のものとなりました。

現在、.NET 6(最新の.NET)は、Windows、Linux、macOSで動作し、x86、x64、Arm32、Arm64をサポートしています。

マイクロソフトは複数のプラットフォーム向けにSDKとランタイムを提供しています。

つまり、最新のM1 MacBook上で.NETアプリケーションをビルドできるのです:

2021 MacBook Pro M1上でコマンドラインを使用してシンプルなコンソールアプリケーションをビルドする様子。

誤解2:.NETはNode/Python/Go/Rustより遅い?

実際、.NET 6は非常に高いスループットを誇り、WebベンチマークではNodeやPythonで動作するあらゆるフレームワークの数倍のスループットを提供します。

近年、.NETチームはランタイムのほぼすべての側面におけるコアパフォーマンスに重点を置いてきました。明らかにRustやC++の生のパフォーマンスには及びませんが、Webアプリケーションの実行においては遅れをとっていません。

また、Task Parallel LibraryやSpanは、スループットとパフォーマンスを構築するための高い上限を提供します。

TechEmpower BenchmarksによるWebフレームワークテストレポート(2018年2月14日のラウンド15)では、ASP.NETが実際にNode.jsに劣っていることがわかります:

2018年:Node.js 8位、ASP.NET Core 13位、Express 28位、Flask 57位、Django 61位。

2021年2月8日のラウンド20では、わずか3年後、.NETはNodeとPythonを完全に圧倒し、Rustベースのサービスに次ぐ位置にあります。

2021年:.NET Core 8位、Node.js 56位、Express 94位、Flask 111位、Django 118位。

gRPCベンチマークでも、.NETは非常に優れたパフォーマンスを示しています。

gRPCを使用するなら、NodeやPythonは考えないほうがいいでしょう。

誤解3:.NETは時代遅れ?

RustやGoと比較して、.NETは時代遅れのプラットフォームだと感じる人も多いでしょう。しかし実際には、.NETは常に更新されており、文法や機能は非常に先進的です。ジェネリック、async/await、匿名型、タプル、パターンマッチング、式など、多彩です。

強力なLINQによって、C#はJavaScriptに非常によく似ています:

GitHubの2021年Octoverse状態レポートによると、C#はここ数年でやや復活しています:

誤解4:開発ツールは高価?

実際、初期のVisual Studio開発ツールは確かに高価でした!

しかし現在、マイクロソフトは無料でフル機能のVisual Studio Community Editionを提供しているだけでなく、他にも選択肢があります:

  • JetBrains Rider
  • macOS向けVisual Studio
  • もちろんVS Code

最近、私はMacBook Pro M1上でVS Codeを使ってC#/.NET開発の大部分を行っています:

誤解5:.NETはオープンソースに不親切?

初期の.NETは確かにそうでした。しかし、Satya Nadellaが舵を取って以来、マイクロソフトのオープンソースにおける軌跡は大きく変化しました。とはいえ、マイクロソフトがこの分野でさらに成長し変革するには、まだ長い道のりがあります。

.NET自体は.NET Foundationによって管理されており、.NETコンパイラ(Roslyn)やその他多くの内部コンポーネントはGitHub上にあり、2015年以来Red Hat Enterprise Linuxの認定も受けています。

誤解6:.NETは企業管理システムしか開発できない?

実際、.NETは現在統一プラットフォームへと進化しており、デスクトップソフトウェア、Webサービス、3Dゲームなど、さまざまなアプリケーションを開発できます。

.NETにはクロスプラットフォームアプリケーションを構築するためのフレームワークも多数あります。例えば:

  • Multi-platform App UI
  • Uno Platform
  • Avalonia

以上です...

原文著者:Charles Chen

原文タイトル:6 .NET Myths Dispelled — Celebrating 21 Years of .NET

原文リンク:https://blog.devgenius.io/6-net-myths-dispelled-celebrating-21-years-of-net-652795c2ea27

さらに探索

関連読書

その他の記事
同じカテゴリ / 同じタグ 2026/04/22

各OSバージョンの.NETサポート状況(250707更新)

仮想マシンとテストマシンを使用して、各OSバージョンの.NETサポート状況を確認します。OSインストール後、対応するランタイムをインストールし、Stardustエージェントを実行できることを確認します(合格条件)。

続きを読む
同じカテゴリ / 同じタグ 2026/02/07

AOTの使用経験のまとめ

プロジェクト作成当初から、新機能を追加したり新しい構文を使用したりした場合には、すぐにAOT公開テストを実施するという良い習慣を身につけるべきです。

続きを読む