编辑寄语

F-Sharp 的关注领域

Keith Ward

Keith Ward
F# 是一种不断增长和日益重要的编程语言。许多开发人员使用它的每一天。 多应使用它定期。

正在忙碌的类型,但是,很难找到时间以学习新的语言,很难完成足够获取每天的工作。这就是为什么我问 Don Syme、 F# 和他的破解团队回答一些常见的 F# 问题的创建者我听到要求的人员。

为什么 F# 创建的?它不会提供什么需要?

现代企业的各种不适合传统的软件需求"业务应用程序"IT 的模式。例如,财务建模涉及量化的财务领域专家 ("quants"),需要编写和部署模型分析的价值和风险的市场位置。可以将这些人视为面向域程序员的一个示例。

有许多类似的示例在现代企业和起步,包括机器学习、 统计、 并行、 科学和算法的专家。 这些人往往是现代软件团队的核心。

域程序员将始终位于搜索工具,提高生产效率、 性能和稳定性保持平衡,并经常利用分析脚本语言,作为其工作的一部分。动态类型化的脚本语言会影响在许多方面,但可能会导致实际问题。例如,它们可能会导致问题随着应用程序的大小的增长。通常情况下,它们没有很好的可视化工具例如,没有 IntelliSense — 并不非常性能时,可能在语言编写新代码。最后,组件不存在于此隔离,并最终需要作为封装的软件组件的较大的上下文中进行部署。NET 系统。

高效、 类型化的语言,它使面向数学和领域专家,他们问题的域中工作,常见的需要时查看示例于此行业,是作为一个简单、 简洁--而不是在面向对象 (OO) 面向类的代码的海洋--同时仍然提供很好地进行互操作的专业级的软件组件。这就是其中 F# 用武之地。从根本上讲,这种工具使领域专家更满意且更具生产性的软件团队的成员。

特殊 F# 在于我们设法获得大多数动态语言 (快速开发和 succinctness) 的好处的同时仍然会保留的强类型语言 (可靠性、 性能和可视化工具) 的高度可互操作平台的上下文中的所有好处。

使用 F# 的最常见方案是什么?

F# 可用于几乎任何任务,但它的优势吧在我们称之为"分析组件开发"。这包括金融和市场的分析引擎 (包括事件驱动的)、 服务器端机器学习组件以及其他丰富数据的分析。有几个很好的案例研究示例 Microsoft Web 站点上。

财务之外的一些有趣的例子是使用 F# 在能源交易,Bing 广告,项目 Emporia (根据机器学习技术个性化的新闻选择服务) 和"路径的转"的人工智能引擎中游戏。所有这些显示一下 F# 优势吧: 专业的上下文中的分析引擎。NET 软件传递。

F# 已通过 C# 和 c + + 的主要优点是什么?

F# 在从 C# 的许多重要方面存在差异。从技术角度讲,您会注意到的事情一些优先起作用的方法和语言功能 (如元组、 列表和模式匹配)。 致力于不可变的数据。 包含的键键入的功能与科学和数字编程 (包括 F# 的度量单位)。 增加的使用表达式作为一种形式的软件重复使用 (包括语言功能,例如对象的表达式)。 简洁的表示形式的 OO 编程。 异步编程的声明性和组合模型 (其中一个版本显示的下一版本的 C#); 并包含动态交互式编译器调用 F# 交互式脚本。

F# 可以为 C 和 c + + 程序员非常直观。可能是他们最会注意到的事情就是使用 F# 交互式编程的即时性 — — 某些 c + + 的人都感到惊讶: 它如此地易于获得的数据并与之播放强类型的语言,仍得到很好的性能时。软件再次成为有趣和探测。