在 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 應用程式:

誤解 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