F#优于C#对企业应用程序开发有哪些优势?

Cra*_*rze 10 c# f#

可能重复:
使用C#vs F#或F#vs c#有什么好处?

我的团队目前正在使用C#.NET为我们公司开发企业应用程序.我们有Winforms dev的历史,但现在正转向SilverLight.

我的老板最近看了一个关于F#的视频,并认为它看起来非常令人兴奋,他让我检查一下.我的问题是 - 在企业应用程序开发领域,函数式语言(如F#)有哪些优势可以超越OO语言(如C#)?

我真的想看看是否有任何令人信服的理由甚至开始考虑转变.一些F#和C#比较代码也可能很好看.

Bri*_*new 10

您可以在F#等函数式语言中更简洁地表达许多概念.

函数是第一类对象,可以直接应用于集合,以更有效地执行转换/过滤.

在函数式语言中鼓励不变性,这使得(例如)多线程代码更加可靠(您知道数据结构在您之下不会发生变化).

通过能够更可靠,更容易地编写多线程代码,可以更容易地利用多个处理器/内核(现在越来越重要的摩尔定律并不适用这么多).

请注意,您可以在F#中使用现有的C#对象.因此,您可能希望在F#和C#中的其他部分中编写代码的某些部分.您应该能够根据您的要求和每种方法的适用性进行混合和匹配.

  • +1多线程是微不足道的,没有副作用.毕竟,如果你不写状态,就没有必要锁定任何东西. (5认同)