3

作为 1.0 版以来的 C# 开发人员,F# 占据了我过去几周的空闲时间。现在出售的计算机有 2、4 .. 内核和多线程并不总是很容易实现。

目前,我看到 F# 在处理复杂和/或繁重的工作负载方面具有巨大潜力。您认为 F# 会(曾经是 RTM)成为企业软件市场的重要参与者吗?

4

5 回答 5

3

我认为 F# 有很好的机会进入企业应用程序的一些利基领域,例如数学建模(例如,用于银行/交易应用程序)。从函数中消除副作用也为并行性和记忆化带来了巨大的机会。很难说这些语言是否会在主流开发中起飞很难说,但在我看来,问题更有可能是面向人的(即,对于熟悉 c# 等更典型语言的人来说,缺乏技能和高学习曲线/java/c++) 而不是技术。

于 2008-09-19T21:40:44.103 回答
2

我认为无论 F# 是否成为企业软件的导入,能够以任何语言隔离代码的纯功能部分将是利用多核计算机潜力的关键。例如,Microsoft 的 .NET Parallel Extensions 非常棒,但由于并行化无法并行执行的代码,仍然存在很大的出错空间。如果代码是纯函数式语言或纯函数式语言的子集,那么您可以确保可以并行执行它。然后,诀窍是找出分配工作的最有效方法。

我想说,F# 在这方面所扮演的角色更像是一种催化剂,可以让人们的脚湿透,并开始以更具声明性的方式思考。

于 2008-09-19T20:57:19.200 回答
1

我认为我们将看到一些功能性的东西将迁移到 C# 中,例如增加使用不可变类型和将函数标记为纯等。我看不到 F# 在企业开发中发挥更广泛的作用,这太神秘了对于普通的开发人员。

于 2008-09-21T11:35:11.953 回答
1

C#/VB 将永远是主要语言,但 F# 更擅长处理复杂问题。C# 更通用,而 F# 更擅长 IA、统计、科学(例如寻找癌症的治愈方法)等。F# 永远不会取代 C#,但它将使 .NET 在更多的计算机科学领域竞争。至于数据挖掘和处理大量数据,最好直接在数据库中进行开发——比如 SQL Server 或 oracle。

至于 F# 难学,那只是因为我们被大多数其他语言的命令式思维方式“腐蚀”了。5年的时间,你很难忘记你所做的事情!此外,根据我的经验,ocaml 和 F# 使用起来很有趣。我对 F#/Ocaml 的唯一抱怨是大多数时候人们过度使用类型推断,这使得代码不可读。我宁愿声明变量类型以使其更易于维护。

于 2009-11-17T04:14:01.880 回答
0

与 VB/C#/Java 相比,我认为 F# 将始终是一种小众语言,因为它确实需要更多的数学或计算机科学背景。然而,它是一种 CLR 语言这一事实​​意味着它将比早期的函数式语言具有更大的曝光率。

我在一家投资银行工作,我们已经将 F# 用于一些临时脚本目的,我们非常渴望看到 F# 的发布版本,以便我们可以考虑更正式地集成到我们的系统中(尽管它们很可能从根本上保持不变)基于 C#)。

于 2008-09-22T13:23:47.033 回答