F# 換“山頭”啦現已遷移到.NET 名下
微軟負責.NET的項目經理Phillip 在博客宣布,他們已經將F#的GitHub repo從microsoft/visualfsharp遷移到 dotnet/fsharp,並按 corresponding RFC 中的規範來操作。
事實上,F#的名字和品牌本身就有一段奇怪的歷史。將時鐘拔會2015年,當時F#有兩個身份:一個是Visual F#(或叫做“VisualFSharp”),屬於Visual Studio中的產品,包含可在Windows上使用的編譯器和工具;另一個是F#(或叫做FSharp),這是一門獨立的語言,可以獨立於微軟構建F#工具、庫生態系統和軟件包。
這種“雙重性”的身份十分令人困惑——如果你使用術語F#,是希望表達何種含義?微軟打造的工具還是其他東西?因此,F#的創始人 Don Syme 在他的博客文章中寫了一篇關於術語“F#”和“Visual F#”的公開信。他建議的區分方法很簡單:如果使用微軟的F#(即在Windows上通過Visual Studio使用),它就叫做Visual F#;否則,就被叫做F#。很簡單是吧?但結果你可能已經猜到了,這些年來事情變得更加複雜……
不過隨著時間的推移,.NET Core 已經成為 F# 和整個.NET 平台未來的核心。
默認情況下,F# 也會安裝在Visual Studio 中,因為它是作為.NET Core SDK 的一部分安裝的。與此同時,許多F# 社區已經接受了.NET Core,移植了現有的庫並創建了新的庫以供.NET Core 使用。
此外,.NET 也已經超越了僅屬於Visual Studio 和Windows 的範疇。因為其歸屬的.NET 基金會是一個獨立的非營利組織,其中包含許多項目,例如包括C# 以及 VB 編譯器和工具、.NET Core 運行時和庫,以及許多與微軟沒有聯繫的獨立開源項目。
隨著所有這一切的發生,對於這兩個F# 的區分不再那麼明顯。為此,官方也採取了一些措施來幫助澄清問題:
- 將F# 稱為“.NET 的開源、跨平台函數式編程語言”
- 在 Visual Studio發布說明中使用“F#語言”,“F#編譯器和核心庫”以及“F#工具”的說法
- 在 .NET Core中提供F#的下載,獨立於Visual Studio
官方表示,下一步是繼續修改來自 microsoft/visualfsharp GitHub repo 中的命名。