|
|
1
3
不,不要忘记命令式风格,因为你仍然需要它。即使是许多做得很好的FP库在封面下也显得有些必要。最好考虑将fp添加到工具和技术列表中,而不是使用一种或另一种技术实现完整的金属化。 现在,关于如何学习FP风格?玩具项目-或实用项目,你写自己的用途。或者见鬼,再给自己写一篇博客——不过有点扭曲!如上所述,关键是实践。这样做时,请避免共享状态。在尽可能多的地方争取纯净(即避免副作用)。使用闭包、模式匹配(如果语言支持)和lambda函数。考虑在程序中作为一流数据类型的函数-将它们作为输入,并将它们作为输出返回。这个列表还在继续,但是如果你在观察的话,同样的概念会一次又一次地重复出现。 如果你觉得在这方面你需要一个温和的推动,使用一个工具(语言)来 鼓励 fp样式,如f或scala。 如果你觉得你需要更多的“坚强的爱”之类的帮助,那就去找哈斯克尔吧:) 否则,请使用您选择的工具,并记住FP概念(如上)。如果你决定走这条路,有本好书叫 Real-World Functional Programming 它使用f和c来说明应用于“主要”fp语言(f)和“主要”oo语言c的技术。 |
|
|
2
1
去找哈斯克尔。因为它是纯粹的,所以你不得不思考功能性的问题。在F或scala中,您仍然可以编写非常必要的代码。我强烈推荐格雷厄姆·赫顿写的关于哈斯克尔的书。 |