從沒有 C# 的 F# 學習 .NET
我是一名 Java/C++ 開發人員,從未花時間學習 C# 和相關的 .NET 基礎。
然後我學習了 OCaml,因為我必須將它用於我的碩士論文,所以我聽說了 F# 並想知道:F# 是否允許我輕鬆使用 .NET API 來建構功能齊全的應用程序(可能涉及 GUI、套接字等)而無需任何問題?
我問這個是因為 F# 語法和概念似乎與 OCaml 非常相似,而當它們不同時,只是因為使用了更多的 OOP 方法,因此 Java 知識將幫助我填補這個漏洞。如果 F# 能夠使用相同的資源作為 C# 無需學習 C# 語法我真的會考慮.. 值得嘗試嗎?
除此之外,亞馬遜上的 F# 書籍(主要是 O’Reilly 的一本書和 Apress 的 3-4 本書)是否適合學習高級技術?因為現在我非常喜歡函式式程式,但從未在.NET 平台上工作過,所以我真的不知道從哪裡開始。
提前致謝
如果您已經像您所說的那樣了解了幾種語言,那麼 Don Syme 的 Expert F# 2.0 是對 F# 的出色深度視圖。
大多數情況下,您會在學習這些庫方面遇到困難,但MSDN參考資料非常好。
我認為這絕對值得一試。除了框架經驗之外,了解 C# 不會給您學習 F# 帶來任何巨大優勢。
F# 是否允許我輕鬆使用 .NET API 來建構功能齊全的應用程序(可能涉及 GUI、套接字等)而沒有任何問題?
我希望在這裡看到一些不同的觀點;我會提供我的。
“語言”有幾個方面會影響您使用它建構“功能齊全”的應用程序的容易程度/流暢程度:
- 語言本身
- 與之配對的庫/框架
- 工具功能(IDE 集成)
- 外部支持(範例、第 3 方庫、社區)
F# 是一門很棒的語言,其核心基於 OCaml。它與 C# 共享相同的庫/框架 (.NET),因此關於前兩個項目符號,F# 與 C# 一樣能夠建構此類應用程序。
不過,F# 比 C# 要年輕很多年,因此 Visual Studio 工具和社區/範例都沒有 C# 成熟。目前,在 VS 框中使用 F# 的“項目模板”和“設計器”較少,並且更難找到範例/庫。F# 社區很棒,並且正在迅速開始填補第 4 條(甚至是第 3 條中的一些)的漏洞,但是對於建構嚴重依賴上述第 3 條和第 4 條的應用程序,C# 在今天仍然具有優勢(2010 年 7 月)。是的,您現在可以使用 F# 建構您喜歡的任何東西,但仍然存在使用 C# 的端到端體驗會更順暢/更輕鬆的情況。