2008-09-19 80 views
3

从1.0版开始,作为一名C#开发人员,F#在过去的几个星期中捕获了我的空闲时间。计算机现在以2,4出售。内核和多线程并不总是很容易完成。F#和企业软件

目前我看到F#对于复杂和繁重的工作负载有很大的潜力。 您认为F#将(一旦RTM)成为企业软件市场的重要参与者吗?

回答

2

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

F#在这个我扮演的角色会说更多的是催化剂,让人们的脚湿润,并开始以更声明的方式思考。

+0

不可变的特性无疑为并行执行提供了极大的帮助。 我必须承认它让我有些习惯。 – 2008-09-19 21:08:11

+0

是的,它绝对需要习惯,但同时它可以很自由地通过描述问题本身来解决问题,而不是描述解决问题的步骤。 – fryguybob 2008-09-19 21:15:24

3

我认为F#有很大的机会进入企业应用的一些小生意领域,例如数学建模(例如银行/交易应用)。消除功能的副作用也为并行和备忘提供了很大的机会。很难说这些语言是否会为主流开发而起飞是很难说的,但在我看来,这些问题更可能是以人为本(即对于熟悉c#等更典型语言的人来说缺乏技能和高学习曲线)/java/C++)而不是技术。

1

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

+0

我同意只有感兴趣的开发人员敢于冒险使用F#,当你所做的一切都是OOP – 2008-09-24 07:16:10

0

与VB/C#/ Java相比,我认为F#将永远是一种小众语言,因为它确实需要更多的数学或计算机科学背景。然而,事实上它是一种CLR语言,意味着它比以前的功能语言具有更大的风险。我们非常希望看到F#的发布版本,以便我们可以考虑更正式地集成到我们的系统中(虽然它们是可能会保持基本的C#基础)。

1

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

至于F#很难学,只是因为我们被大多数其他语言的命令式思维方式“腐化”了。很难忘记你做了5年的事情!另外,在我的经验中,ocaml和F#是一种使用的乐趣。我对F#/ Ocaml唯一的抱怨就是大多数时候人们过度使用类型推断,导致代码不可读。我宁愿声明变量类型以便于维护。