【问题标题】:F# vs c# for an enterprise commercial project [duplicate]企业商业项目的 F# vs c# [重复]
【发布时间】:2011-05-22 23:13:50
【问题描述】:

可能重复:
What are the benefits of using C# vs F# or F# vs c#?

所以我开始关注微软新的函数式语言的炒作。在观看了几个视频演员并玩弄它之后,我真的开始喜欢这种语言。类型推断使源代码看起来比 c# 的要好得多。但是您会考虑使用 F# 来构建类库,例如,从您的 c# 代码(asp mvc、wcf 等)中调用它吗?他们这样做有什么警告吗?将 F# 引入 c# 应用程序有什么好处吗?

【问题讨论】:

标签: c# .net f#


【解决方案1】:

我认为,如果您想做一个具有高级事务的应用程序,F# 会对此有所帮助,而且您可以将其作为 DLL 并在 C# 应用程序中使用

【讨论】:

    【解决方案2】:

    我见过这样做的人的 cmets 并说它对他们来说效果很好,但是您要记住的一件事是 C#/Java 开发人员需要一个学习曲线才能习惯到 F# 的函数式编程模型。因此会有人力资源成本,因为在招聘时准备好深入研究代码的 F# 部分的人会更少。

    【讨论】:

    • 这对新开发团队来说越来越不重要,因为越来越多的程序员尤其是。在使用 Erlang 和 Scala 的金融行业中。在花时间学习 F# 之后,我可以将其视为现有 C# 团队的真正限制因素。好点子!
    • @GregC:是的,这完全取决于你所在的行业,以及你的团队是如何划分的。如果您有一组金融程序员在做 F# 的工作,而一组 Web 程序员为它提供 UI,那对您来说可能会非常有效。
    • 我已经看到了 Web 开发如何从动态语言(如 Ruby)中受益——因此,一定要睁大眼睛寻找新技术。
    • @Warrior - f# 的可测试性如何?有框架吗?
    • @Max Malygin:虽然我没有在 F# 中做过任何认真的编程,但我知道它的功能性质非常适合单元测试。命令式程序员必须学会采用以确保他们的代码保持可测试性的模式(例如构造函数注入),这在使用 F# 编程时会自然而然地发生。对于框架,请参阅stackoverflow.com/questions/1989487/…
    【解决方案3】:

    如果您的项目真正受益于基于函数式编程语言的构建,那就去吧。然而,这很可能不是这种情况。

    如果您谈论的是基于网络的企业软件系统,我不建议您使用 F# 进行完整的项目。

    如果您觉得有一个子系统/例程可以从使用 F# 中受益匪浅,请务必在 F# 中开发该部分,然后将其作为程序集引入。

    【讨论】:

    • 我认为,如果您在两者都使用公认的风格时提供 C# 优于 F# 的地方会很好,只是为了证明您的负面评论是基于经验,而不是嫉妒。
    • “基于网络的企业软件系统。”所以某种形式的客户端/服务器,无论是瘦客户端还是胖客户端。几乎所有形式的客户端开发都使用 C# 更好。
    【解决方案4】:

    F# 语法是轻量级的,允许在更短的时间内交付更多。我真的很喜欢异步块和邮箱处理器。这些特性非常好,以至于 C# 5.0 试图模仿和反向移植它们。

    【讨论】:

    • 使用 F# 深度着色器 VS2010 扩展。是你的朋友!
    猜你喜欢
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多