我最近一直在有趣地学习F#(我是VB.NET/C#开发人员),我真的很喜欢它提供的一些功能。从理论上讲是这样。但是我想不出要选择使用F#而不是C#进行编码的方案。有任何想法吗?
我最近一直在有趣地学习F#(我是VB.NET/C#开发人员),我真的很喜欢它提供的一些功能。从理论上讲是这样。但是我想不出要选择使用F#而不是C#进行编码的方案。有任何想法吗?
Answers:
我在考虑要选择使用F#而不是C#进行编码的方案时遇到了麻烦。有任何想法吗?
从这里:
异步服务器
元编程(例如解析)
技术计算
GUI应用
逻辑程序设计
测试中
性能
inline
用于免费的高阶抽象。以下是每天或多或少使用功能样式编程的目的。
我们使用相当大的数据集进行大量统计和精算工作。从数据库中获取的数据本质上是静态的,不可变的对象。没有理由使用方法创建类。
计算的每个阶段都会添加一些其他详细信息,但本质上不会使对象发生变化。在管道的“末端”,我们实际上是在做花哨的减少来计算总和,计数等。
想象一下。
for data in summarize( enrich( calculate( some_query( criteria() ) ) ) ):
print data
计算的每个“阶段”都是一个功能性的编程循环,该循环执行简单的读取-计算-产率,并创建包含其他内容和结果的复合对象。
(我们使用Python,因此使用生成器函数进行功能编程。)
使用无状态,不可变的对象会更容易。
criteria() |> some_query |> calculate |> enrich |> summarize
我发现前向管道运算符可以导致更清晰的代码,但我离题了。
map
以获得相同的效果。
F#
不能完全代表函数式编程。试试吧Clojure
。