在 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