我在一家技术公司工作,该公司做的原型比产品发货还多.我刚刚被问到C#和F#有什么不同,为什么微软要创建F#,哪些场景会比C#更好.
我已经使用这门语言有一段时间了,我喜欢它,所以我可以很容易地继续讲述F#的伟大特性,但是我缺乏C#的经验来说明为什么我们应该使用一种而不是另一种.
使用C对F或F对C有什么好处?
我在一家技术公司工作,该公司做的原型比产品发货还多.我刚刚被问到C#和F#有什么不同,为什么微软要创建F#,哪些场景会比C#更好.
我已经使用这门语言有一段时间了,我喜欢它,所以我可以很容易地继续讲述F#的伟大特性,但是我缺乏C#的经验来说明为什么我们应该使用一种而不是另一种.
使用C对F或F对C有什么好处?
函数式编程相对于命令式语言的一般好处:
在F#这样的函数式编程语言中,您可以更容易、更接近它们的定义和更简洁地表述许多问题,并且您的代码不容易出错(不变性、更强大的类型系统、直观的递归算法).你可以编码你的意思,而不是电脑想让你说什么;-)You will find many discussions like this when you google it or even search for it at SO.
特殊F#-优势:
异步编程是extremely简单直观的async {}
-expressions-即使使用ParallelFX,相应的C#-代码也要大得多
Very easy integration%的编译器编译器和特定于域的语言
根据需要扩展语言:LOP
更灵活的语法
通常更短、更优雅的解决方案
C#的优势在于,它通常比函数式编程语言更准确地描述"命令性"应用程序(用户界面、命令性算法),它使用的.NET框架是命令性设计的,而且使用范围更广.
此外,您可以将F#和C#结合在一个解决方案中,这样您就可以将这两种语言的优点结合起来,并在需要的地方使用它们.