F#-从头开始学习的资源

时间:2019-02-13 12:37:43

标签: f#

我很高兴看到那里有几篇帖子,询问有关F#教程/学习资源的信息,但是许多问题(和答案)都假定您对C#或编程有一定的了解或经验。

虽然我从事过一些编程工作,但多年来一直非常艰辛。我正在寻找的是F#教程或一系列教程,它们从最基本的内容(一个打印“ Hello World!”的“完整”程序)开始,逐步进行,同时仍在向您展示完整的解决方案。我发现的大多数资源都删掉了大部分内容,只是说“这就是您在C#中要做的事情,现在是F#”,而忽略了完成该问题解决方案的其他要素。

编辑:我在F Sharp TV上找到了免费课程(裸体课程),但不喜欢它总是如何利用F#Interactive演示该语言,而不是构建一个实际上完整的应用程序。

3 个答案:

答案 0 :(得分:2)

我会首先推荐fsharpforfunandprofit.com-显然是一个很好的起点。您已经完成了。这是“功能性思考”的重要部分。 https://fsharpforfunandprofit.com/series/thinking-functionally.html 当您习惯了这种语言(一点点)后,我建议您使用“ Stylish F#”。这是一本关于初学者(但是可以写一些F#的)良好实践的最新书籍。真的很喜欢。

答案 1 :(得分:2)

我对F#非常陌生。我本月才开始捡起它,到目前为止,我真的很喜欢它!

我真的可以与您的问题相关,因为我发现的每本书或教程都比我拥有更多的知识。我打开书架开始阅读,然后3 ... 2 ... 1 ...我完全迷路了。

我确信一旦我精通了该语言,通常列出的参考文献显然会优于我将要推荐的参考文献。

我喜欢的一本书是“使用F#进行功能编程”。它从非常非常基础的内容开始,并提供了有关F#中我可能会错过的小东西的信息。最好的部分是本章末尾的练习,因为有人遍历了所有练习,并在此处发布了答案:[1]。因此,您可以在练习中苦苦挣扎,然后了解其他人如何解决该问题!本书的主要缺点是这些示例有时可能在数学上比较繁琐。

我使用的第二本书称为“ Friendly F#”。我确实从未见过它链接或谈论过,但是我非常喜欢它。我发现作者采用的方法相当新颖。作者从开始项目开始就没有向我展示如何在F#中实现Fibonacci序列!您可以在其中实际可视化事物的真实项目!例如,在第一章中,您创建了一个F#脚本,您可以在其中可视化在重力作用下弹跳的盒子中的球!我知道真正的编码人员可能更担心这种语言的深奥特征,但作为某人的开始,它实际上是使我能够可视化某些东西,更重要的是要向我的妻子展示一些东西,这非常有动力,所以她不会认为我我只是在浪费时间,什么也不做。

我最后推荐的是Excercism。这是一个很棒的网站,导师们提供了很好的反馈。唯一的缺点是您需要对语言的功能有所了解。对我来说,我浪费了无数的时间试图解决其中一个问题,却发现有一个名为Seq.zip的东西可以立即解决问题。因此,我建议坐下来思考一个问题,思考一个小时,然后搜索“ fsharp excercism solutions 在此处插入问题名称”。幸运的是,您可以直接导航到解决方案页面,并浏览其他人提出的数百种解决方案。这就是我永远了解Seq.zip是什么的方式。

编辑

我也想添加此视频[2]。它不会在一个视频中教您所有有关F#的知识。但是,它将使您对语言有一个很好的了解,因此,在更深入地学习它的同时,您会了解该语言的功能。

我希望这会有所帮助!

[1]-https://github.com/TorbenRahbekKoch/Functional-Programming-Using-FSharp

[2]-https://www.youtube.com/watch?v=c7eNDJN758U

答案 2 :(得分:1)

正如评论中提到的那样,有些人可能认为此答案可以视为出于意见的动机。我认为这些资源可能是学习更多有关该语言的良好切入点。

  1. 参考:sachabarbs.wordpress.com/1406-2
  2. 参考文献en.wikibooks.org/wiki/F_Sharp_Programming

奖金:Azure在云中开始使用F#,请看一下这个很棒的参考! 参考:Getting started with F# with Azure Notebooks