F# 从F开始#

F# 从F开始#,f#,F#,我如何进入F#programming 学习该语言或了解其相对于其他语言的一些优势,有哪些好的入门示例 我需要什么工具(例如Windows、Visual Studio等)?官方入口点在这里: 为了快速品尝,考虑(Silverlight)。(包含交互式教程演练) 从观看视频和演讲开始(顺便说一句,卢卡·博洛涅斯的演讲仍然是这方面最好的演讲之一)。然后阅读以下两本必读书籍: 作者:克里斯·史密斯 (F#中的专家之声)由唐·赛姆、亚当·格拉尼茨和安东尼奥·西斯特尼诺创作 除此之外 快速链接 (F#

我如何进入F#programming

学习该语言或了解其相对于其他语言的一些优势,有哪些好的入门示例


我需要什么工具(例如Windows、Visual Studio等)?

官方入口点在这里:

为了快速品尝,考虑(Silverlight)。(包含交互式教程演练)

从观看视频和演讲开始(顺便说一句,卢卡·博洛涅斯的演讲仍然是这方面最好的演讲之一)。然后阅读以下两本必读书籍:

  • 作者:克里斯·史密斯
  • (F#中的专家之声)由唐·赛姆、亚当·格拉尼茨和安东尼奥·西斯特尼诺创作
除此之外

快速链接
  • (F#是VS2010和VS2012专业版的标准功能)
  • 获取Visual Studio 2012 Express for Web的F#工具(免费2012工具)
  • 下载(免费2010工具)
  • 通过MSDN资源
  • ()(将显示F#3.0规范)
  • (,)
  • 在Wikibooks(有很多示例)
  • 在Try F#(需要Silverlight)
  • 他有很多资源
社区 问答

  • 这里是StackOverflow
博客/出版

  • 聚合器
  • ()
集合群

视频
  • 关于MSDN
其他书籍
  • 罗伯特·皮克林(Robert Pickering)(2007年5月)
  • 罗伯特·皮克林(2009年12月)
  • 托马斯·佩特里切克和乔恩·斯凯特(2010年1月)
  • Jon Harrop博士(2010年4月)
  • 朱利亚·科斯坦蒂尼和朱塞佩·马吉奥尔(2011年8月)
所需工具 Visual Studio:

  • F#内置于VS2010和VS2012的专业版中
  • F#作为Visual Studio 2012 Express for Web的附加组件提供
  • 或者,您也可以安装VS2010集成外壳()。然后安装,以获得免费的VS2010版本的F#2.0
单一开发:

  • 你可以在MonoDevelop中找到很多关于使用F#的信息。F#编译器和fsi.exe现在是Mono发行版

Brian已经列出了一个很好的清单,但我谦恭地向丰富的F#学习材料生态系统提交了我自己的一点贡献,这是一种通过测试学习F#语言的简单、有趣、互动的方法。

我学习F#的方法是通过以下三个步骤

首先,我浏览了网站上的介绍,它对该语言的语法和风格进行了很好(但很轻松)的交互式介绍

接下来,为了对实际解决语言问题有所了解,我开始在网站上解决一些难题。我解决了前十个问题,在每个成功的问题之后,我都会寻找替代的F#实现。这给了我们一种很好的感觉,即如何处理序列和使用递归,以及如何熟悉语法

最后,我读了一本真正优秀的30点指南。它一步一步地介绍了语言的所有主要部分,描述了如何利用它们——着眼于C#开发者。之后,我鼓励你在网站上寻找其他资源,它们都写得很好,很有洞察力


完成这些步骤后,您应该准备好开始在F#中创建一个真正的项目。

在编程方面,我还没有遇到一本“必读”的书,因此我对这些书的建议相当怀疑……如果将其添加到标记信息中呢?如果可以的话,我和我自己,发现我用不同的书有不同的目的。专家F#更多的是作为查找东西的参考(虽然不是纯粹的参考),从F#开始作为一本文化书,在那里我总能学到一些非常有用的东西,无论我读哪一章,甚至是基本的东西,而RWFP是一个主题的总结。我也非常推荐乔恩·哈洛普的书。说到点子上,在algo方面有一些很好的基础知识。0%浪费。Jon也喜欢noobie。@H.B.我认为有必读的内容,但这些内容还不够基本和全面,不足以证明IMHO+1的资格。这是一个很好的基本概念的交互式介绍,期待一些高级Koan。谢谢。我从koans中学到了很多东西,我对一些高级课程非常感兴趣。我真的很喜欢Euler推荐的课程。实际解决问题是(对我来说)真正深入研究的最好方式。另外,我发现fsharpforfunandprofit也是一个非常有用的资源。在euler项目中,f#的示例解决方案似乎不是最有效的。问题一的表现要好得多:让问题1=[1..999]|>List.filter(乐趣x->(x%5=0 | | x%3=0))|>Seq.sum;;我建议测量您的解决方案和提供的解决方案的时间。我也这么做了。学会了一点语言/语法/思维方式,然后去了欧拉计划。以120票的优势,这个问题应该重新开始吗?它为一个好问题提供了很好的答案,这个问题已经读了很多遍了。