F# 和企业软件

发布于 2024-07-06 06:28:31 字数 162 浏览 16 评论 0原文

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

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

Being a C# developer since version 1.0, F# has captured my free time for the past few weeks. Computers are now sold with 2, 4 .. Cores and multi-threading is not always simple to accomplish.

At the moment I see that F# has great potential for complicated and or heavy workloads.
Do you think that F# will (once RTM) become an important player in the Enterprise Software market?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

神仙妹妹 2024-07-13 06:28:31

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

I think F# has great opportunity to make inroads some of the niche areas of enterprise applications such as mathematical modelling (e.g. for banking/trading applications). Removing side effects from functions also leads to great opportunities for parallelism and memoization. Its hard to say if these languages will ever take off for mainstream development is hard to say, but in my opinion the problems are more likely to be human oriented (i.e. lack of skills and high learning curve for people familiar with more typical languages like c#/java/c++) rather than technical.

暗藏城府 2024-07-13 06:28:31

我认为,无论 F# 是否成为企业软件的重要组成部分,能够以任何语言隔离代码的纯功能部分将是发挥多核计算机潜力的关键。 例如,Microsoft 的 .NET 并行扩展非常棒,但是通过并行化无法并行执行的代码,仍然存在很大的犯错误的空间。 如果代码采用纯函数式语言或纯函数式语言子集的形式,那么您可以放心地并行执行它。 关键是找出分配工作的最有效方法。

我想说,F# 在这方面扮演的角色更多的是作为催化剂,让人们开始行动并开始以更具声明性的方式思考。

I think regardless of whether F# becomes import for Enterprise Software being able to isolate pure functional portions of code in any language will be key to using the potential of multi-core computers. For instance Microsoft's Parallel Extensions for .NET are great, but there is still a lot of room to make mistakes by parallelizing code that can't execute in parallel. If the code is in the form of a pure functional language or a subset of your language that is purely functional, then you are assured that you can execute it in parallel. The trick is then figuring out the most efficient way to assign the work.

The role that F# plays in this I would say would be more as a catalyst to get people's feet wet and start thinking in a more declarative way.

枕梦 2024-07-13 06:28:31

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

What I think we'll be seeing is that some functional stuff will migrate into C# such as the increase use of immutable types and the marking functions as pure etc. I can't see F# having a wider role in enterprise development its just too mystifying to the average developer.

不即不离 2024-07-13 06:28:31

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

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

C#/VB will always be the main languages, but F# is better at complex problems. C# is more general purpose while F# is better at IA, statistics, science (finding the cure of cancer, for example), etc. F# will never replace C#, but it will enable .NET to compete in more fields of computer science. As for data mining and processing large ammounts of data, you are better off developping directly within the database - like SQL Server or oracle.

As for F# being hard to learn, it's only because we got "corrupted" by the imperative way of thinking in most other languages. It's hard to unlearn something you do for 5 years! Also, in my exprience, ocaml and F# is a joy to use. The only complain I have for F#/Ocaml is that most of the time people overuse the type inference which makes the code unreadable. I'd rather declare variable types to make it easier to maintain.

过期以后 2024-07-13 06:28:31

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

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

I think F# will always be a niche language, compared to VB/C#/Java, because it does require more of a mathematical or computer science background. However the very fact that it is a CLR language means that it will have much bigger exposure than earlier functional languages.

I work in an investment bank and we are already using F# for some ad-hoc scripting purposes, we are pretty keen to see a released version of F# so that we can consider more formal integration into our systems (although they are likely to remain fundamentally C# based).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文