Dot-Net

F# 能教給我好的函式式程式實踐嗎?

  • November 24, 2010

我打算讓自己沉浸在函式式程式範式中,讓思考過程成為我的第二天性。.Net/Mono 是我熟悉的唯一框架/對像模型,我不想學習任何其他類型系統。這使得 F# 成為一個明顯的考慮因素,因為學習新類型系統的負擔不會成為分散注意力的因素。

但我擔心的是語言本身。在將 FP 鑽入我的頭骨時,它會和任何其他經典的函式式程式語言(例如 Haskell)一樣好嗎?

是的,它可以。在這里特別有用和密切相關的是真實世界的函式式程式,它從 C# 尤其是 F# 的角度出現在 FP 中。你會喜歡的。

我認為使用 F# 學習函式式程式的好處(尤其是如果您已經有 C# 和 .NET 的經驗)是您會發現創建一些有趣的項目要容易得多。

  • 一個原因是您已經熟悉 .NET 庫(可以從 F# 輕鬆訪問)
  • 第二個原因是 F# 不是純粹的,因此您可以開始編寫有效的程式碼,然後對其進行改進以使其更具功能性。

F# 支持多種範式,但它主要是一種函式式語言(與 Python 或 C# 相比,它們也支持多種範式,但主要不是功能性的)。這樣更容易強迫自己使用函式式風格。避免命令式模式更容易,因為它們更難用 F# 編寫(而且程式碼看起來更糟)。

我認為一旦你“掌握”了基本的函式式程式,如果你仍然感興趣的話,學習其他函式式語言會更容易。了解一點 Haskell 或 Scheme 絕對是件好事,因為它們更激進(在某些方面)。

如果你擅長理解概念而不在一些實際項目中實際使用它們,那麼從一些經典語言開始使用一些經典書籍可能也是一個不錯的選擇(例如Haskell School of ExpressionStructure and Interpretation of Computer Programs)。我沒有任何負面的意思——我個人非常喜歡閱讀技術書籍而不嘗試範例,因為我仍然可以從閱讀中獲取有趣的概念(並且為了練習,總是有Google)。當然,您可以使用 Haskell 或 Scheme 編寫一​​些程式碼,但作為 .NET 程序員,您可能會發現編寫 F# 程式碼更有趣……

引用自:https://stackoverflow.com/questions/4241729