歐界丨微軟悄悄刪除2500行熱過載功能程式碼,.NET開源社群炸鍋了

歐界報道:

近日。NET開源社群掀起了軒然大波。

微軟竟在這周即將釋出的。NET 6 中,未經通知悄悄地刪除了Hot Reload(熱過載) 的一個關鍵部分,原始碼多達2500 行。

這個舉動讓碼農們憤怒不已,馬上炸開了鍋。

歐界丨微軟悄悄刪除2500行熱過載功能程式碼,.NET開源社群炸鍋了

刪除Hot Reload(熱過載)意味著什麼?

熱過載功能,能讓開發人員獲得即時反饋,方便再修改撰寫程式碼的時候及時看到結果,提高開發效率。這是一個非常大的賣點,尤其是微軟一直想要追趕谷歌的 Dart 程式語言和 Flutter 工具包,所以此前微軟引入熱過載的時候,那叫一個大肆宣傳。

歐界丨微軟悄悄刪除2500行熱過載功能程式碼,.NET開源社群炸鍋了

高調宣傳在。NET 6 中加入“熱過載”後,微軟又突然在dotnet watch 的工具中刪除了原始碼。10 月 20 日,微軟負責的專案經理曾公開表示:

“現在只通過 Visual Studio 2022 啟用熱過載功能。”

歐界丨微軟悄悄刪除2500行熱過載功能程式碼,.NET開源社群炸鍋了

這句輕飄飄的話瞬間點燃了整個 。NET 社群。也許對於普通網民來說,是理解不了這種憤怒的。不就一個附加功能,至於那麼上綱上線嗎?

而實際上,微軟此舉不僅僅是刪除了一個便利開發者的功能,更是違背了千萬程式設計師最為在乎的一個核心原則——開源。

從上面的宣告可以看到,微軟並不是徹底刪除熱過載功能,而是將其限制在自家產品 Visual Studio 開發平臺,即拒絕開放共享給其他平臺。

歐界丨微軟悄悄刪除2500行熱過載功能程式碼,.NET開源社群炸鍋了

再簡單點,

微軟就是想透過這次悄咪咪的刪除關鍵程式碼,故意削弱了開源 。NET SDK,間接地使得自家商業產品Visual Studio更具競爭力。

最最重要的是,微軟做這個決定純粹是私自做的,根本沒有與 。NET 社群協商。據悉,微軟將 。NET 6。0 的熱過載功能刪掉,就連macOS 和 Linux 開發人員也再也看不到此選項,可見熱過載功能已經成為了Windows 和 Visual Studio 開發平臺的私有工具了。

由於群情實在太過激憤,微軟眼看自己的小心思被揭露了,只能出面道歉並恢復程式碼。

10月23日發文道歉,並且承認自己“犯了一個錯誤”,現在正在批准重新啟用這一程式碼路徑,所以熱過載功能將在。NET 6 SDK 的 GA 構建中出現。

歐界丨微軟悄悄刪除2500行熱過載功能程式碼,.NET開源社群炸鍋了

而且微軟還強調,他們是

“無意中刪除了這段原始碼”

。不過廣大開發人員表示,這個說辭不靠譜。微軟對於是否犧牲了其他平臺,是否默認了Visual Studio 成為 。net 生態系統中的“一等公民”等問題,也避而不談。

司馬昭之心已經路人皆知了:

微軟想讓 Visual Studio 2022儘可能搶佔更大的市場,這難道不是開源風氣的一種倒退?