F#是一种将被越来越多地使用的语言。
微软已经内置了Visual Studio 2010 F#,其潜力巨大,就像我在几本IT杂志上看过的那样。
因此,让我们收集有关F#“正确”应用的有用信息以及我们可以获得的优势。
我很好奇!
克里斯
更多信息:
答案 0 :(得分:4)
用于编写任何应用程序,尤其是服务器端,需要扩展核心和处理器的数量。纯函数式编程是无状态的(不依赖于共享资源),因此不会像传统的命令式并行编程那样遇到死锁,竞争条件或损坏。使用命令式/ OO语言可以完成类似的事情,但需要更多的规则,或者像C#中的Parallel Extensions一样模拟功能结构。并注意:并非所有事情都可以用纯粹功能方式完成,特别是因为CLR和运行时库是OO设计,因此死锁,竞赛和其他内容不会完全消失。
用于解决具有大量数学抽象的业务领域,例如财务,保险或工程。迟早,二阶和三阶函数往往会在这些域中作为必要的抽象。 F#不是纯函数,但足够接近表达这样的抽象。
用于解决具有强安全性和正确性要求的域名。 F#强类型模型可能不会吸引,例如Ruby人群,但对于某些领域,能够在富有表现力的功能类型系统的支持下推理正确性是至关重要的。我怀疑正确性证据是否会在学术界之外实现渗透,但是作为自动和手动程序验证套件中的一个工具的推理应该提供难以通过鸭子打字语言或OO进行功能性编程的模拟效果。
尽管如此,我认为C#中引入的功能元素将在满足F#的任何用途方面发挥越来越重要的作用,并可能削弱F#的位置。这取决于一个相当大的F#开发者社区是否能够快速增长。
答案 1 :(得分:1)