首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在哪些方面,F#使得“在使用上完全没有意义”?

在哪些方面,F#使得“在使用上完全没有意义”?
EN

Stack Overflow用户
提问于 2011-03-12 21:31:46
回答 9查看 6.7K关注 0票数 60

Don Syme在他的SPLASH演讲中说,尽管F#具有通用的功能,但它并不打算成为C#的替代品。他继续说,在某些领域,F#在使用上没有意义,但没有在论文中展开。

  1. 谁能告诉我在使用F#时应该避免哪些地方?
  2. 你也可以提到C#闪亮的地方。

相关问题:

In what areas might the use of F# be more appropriate than C#?

EN

回答 9

Stack Overflow用户

发布于 2011-03-12 22:56:01

我的观点是,替换像C#这样丰富和成熟的语言将是非常昂贵的。因此,例如,目前,如果使用Visual Studio WinForms设计器可以给您带来一个优势,那么C#绝对是WinForms开发的最佳选择: F#没有WinForms设计器。

目前,C#也有更好的LINQ-to-SQL支持。我相信沿着这条线还有很多其他的例子。

然后,需要整个C#熟练员工将他们的技能更新到F#,同时保留用于维护应用程序的C#技能,这也是昂贵的。

最后,C#是一种优秀的语言,有很多很棒的特性,一些F#甚至没有类似的协同/反向变体泛型,以及对动态编程的开箱即用支持(F#只有一个未实现的运算符)。

因此,通过不期望F#取代C#,F#可以以新的方式发展,而不是把所有的时间都花在已经覆盖很好的领域上。

票数 59
EN

Stack Overflow用户

发布于 2011-03-13 00:45:20

这是一个棘手的问题,因为它不是很合格。您是在谈论一般的语言,还是在谈论与当前IDE支持一起的语言?或者,考虑到现有的库,您是否在谈论使用F#?

  • Language总而言之,-我不认为在某些领域使用F#绝对是胡说八道。这对于完全托管操作系统(例如奇点)的系统编程将是很好的,我认为功能程序将更容易正式验证(这对操作系统来说可能是一个大问题)。对于低级嵌入式系统,您可以使用元编程和面向语言的工具(例如,使用当前的集成开发环境对硬件etc.)
  • Language中的信号流进行建模-当前的F#集成开发环境有一些限制-它不能与WinForms designer一起工作(但它与Blend和一起工作得很好)。
  • Language考虑到开发者教育--雇佣F#程序员比雇佣C#程序员更难。如果你创建的应用程序没有任何复杂的核心(例如,通常的“数据库接口”),那么用C#开发它将会更便宜(如果你可以雇佣优秀的F#开发人员,他们可能会更快地完成它,错误也会更少,但考虑到可用的库,可能不值得使用-如果你想限制自己只使用与F#配合良好的库,那么域就会缩小一些。例如,LINQ to SQL和ASP.NET MVC可以与F#一起使用,但它并不完美。然而,对于许多项目来说,开发自己的库是有意义的,这样F#就会成为很好的语言。
票数 23
EN

Stack Overflow用户

发布于 2011-03-12 21:36:48

问得好。我要说的是,开发人员、经理和客户没有语言方面的原因,而有许多不幸的技能、能力和态度方面的原因。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5282782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档