.NET 很好,你可能對它有一些誤解

.NET 很好,你可能對它有一些誤解

本文章介紹的是NV顯卡訓練。CPU訓練 僅供參考,部分不同的地方請前往官方網站獲取資訊。

最後更新 2022/3/30 上午11:11
全球技术精选
預計閱讀 5 分鐘
分類
.NET
標籤
.NET C#

在 20 年前的 2002 年,微軟公佈了下一代的軟體、服務的願景和路線,2 月 13 日,Visual Studio .NET 推出,.NET 開發平台的第一個版本正式向世界發佈。

到現在為止,.NET 都已經 20 歲了,它已經成長為一個成熟穩定的平台。

但是,我發現很多開發人員還是對 .NET 有一些偏見和誤解,讓我們來消除這些誤解吧!

如果你身邊也有這樣的朋友,請把這篇文章轉發給他們。

誤解 1:.NET 只能在 Windows 上執行?

實際上這個說法從早期的 .NET 就一直存在,也確實如此,.NET Framework 最初是為 Windows 構建的,因為包含了很多 Win 32 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。

Microsoft 為多個平台提供 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 框架測試報告,在 Round 15 from February 14, 2018 中,您可以看到 ASP.NET 實際上落後於 Node.js:

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

在 Round 20 in February 8, 2021 中,僅僅三年後,.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、匿名類型、元組、模式匹配、Expression 等等。

藉助於強大的 LINQ,C# 看起來非常像 JavaScript:

根據 GitHub 的 2021 年 Octoverse 狀態報告,C# 在過去幾年中略有復甦:

誤解 4:開發工具很貴?

實際上,早期的 Visual Studio 開發工具確實很貴!

但是現在,微軟不僅提供免費的、功能齊全的 Visual Studio 社群版,你還有其他的選擇:

  • 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/2/7

AOT使用經驗總結

從專案建立伊始,就應養成良好的習慣,即只要添加了新功能或使用了較新的語法,就及時進行 AOT 發布測試。

繼續閱讀