gpt4 book ai didi

.net - 哪种语言更适合通用编程,F# 还是 Haskell?

转载 作者:行者123 更新时间:2023-12-04 16:14:58 27 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。




9年前关闭。




我目前正在学习 Haskell,您更喜欢哪种语言(F# 或 Haskell)来编写通用应用程序?

你认为哪种语言更强大?

最佳答案

我更喜欢 Haskell。

Jon Harrop 声称 Haskell 的工具很差,这让我思考了一下,因为我完全不同意这一点。我认为这里的问题部分是开发风格之一。让我们比较一下 F# 和 GHC 的一些与工具相关的特性:

  • F# 有大量的可视化工具,而 GHC 没有。对我来说,缺乏可视化工具是无关紧要的:我使用 vi、Unix 命令行和高度定制的构建系统。对我在 F# 中的开发风格缺乏支持对我来说非常困难。另一方面,如果您更喜欢在 Visual-Studio 类型的环境下工作,那么您会有完全相反的意见。
  • 我知道 F# 和/或 .NET 有一个非常好的调试器。 GHC 只有一个在解释器中运行的有限调试器。多年来我没有使用过调试器(其中大部分是由于使用了测试驱动的开发),当您主要使用纯函数时,如在 Haskell 中,调试器的必要性要小得多。所以对我来说,缺少这个工具是无关紧要的。
  • 图书馆。这主要取决于您需要哪些库,不是吗?如果您需要的库不存在,那么许多好的库也无济于事,并且拥有许多设计不佳的库可能没有那么有用。 Haskell 的库肯定比 .NET 少,但它确实有一个合理的选择,而且其中许多的 API 设计质量非常非常高。

  • 我不知道 F# 与 native 代码库的接口(interface)是什么样的,但由于出色的 FFI,GHC 对此非常有用。我完全用 Haskell 编写了一个 Windows DDE 服务器(是的——不是一行 C,甚至不用处理来自 Windows C 库的回调),它花费的时间要少得多,而且比用 C 或 C++ 做同样的事情要简单得多。如果你需要原生代码接口(interface),Haskell 无疑是​​更好的选择。

    内存使用和性能的“不可预测性”是一个很好的观点。如果您知道自己在做什么,Haskell 在我看来实际上是可以合理预测的,但是当您开始时您不会知道自己在做什么,并且您将有很多东西要学习。 F# 与其他 .NET 语言更相似。

    总的来说,这个问题可能更多地归结于平台而不是语言:GHC 生成 native 代码的“Unixy 世界”与在 .NET 上运行的 F# 的“Windowsy 世界”之间的巨大差异不是语言问题。

    关于.net - 哪种语言更适合通用编程,F# 还是 Haskell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/142878/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com