用F#编写的一些知名应用程序是什么?[关闭]


13

作为对知识的不断追求的一部分,我本周将花一些时间来学习F#的基础知识,作为对函数式编程的介绍。我认为我已经了解了在此模型下的软件构造以及一些建议的好处,但是对于实际的用例仍然有些模糊。

我希望F#的成功故事,或者至少我熟悉的一些应用程序,可以使F#(或任何功能性编程语言)何时适合项目更清晰。

回到问题所在,有哪些使用F#或类似功能编程语言的知名应用程序?

顺便说一句:我也乐于听一些鲜为人知的应用程序,但是如果您提到一个,请提供有关该应用程序的基本知识以及为什么使用该语言是适当的选择。


我对此很好奇。我以为F#是面向数学的MS研究部语言。看看是否有任何可识别的程序正在使用它很有趣。我怀疑是否有完全是F#的“知名”程序。
Kavet Kerek

1
这个问题似乎是题外话,因为它是一个基于民意测验的问题。

jet.com,最初是用F#编写的电子商务初创公司,几年前被沃尔玛(Walmart)以3十亿美元的价格收购
KolA

Answers:


8
  • 整个F#系统(编译器,库和工具)
  • IronJS(已经提到)
  • XBox Live TrueSkill算法以及整个成就系统,排名系统和周围的配对系统

我想为什么没有用F#编写“知名”应用程序的主要原因是因为要花费数年甚至数十年才能成为“ 知名”应用程序,而F#才还没有那么老。

但是,绝大多数应用程序不是“众所周知的”。只有一个PowerPoint,但实际上有数百万个手写的定制的一次性内部薪资应用程序。

F#肯定在许多金融公司内部使用,例如在生物技术或绿色技术中进行科学和数字计算,进行统计,神不知道在哪里等等。这些应用程序并不为人所知,要么是因为它们根本不是“性感”,要么是因为这些公司将F#视为秘密武器,从而使它们具有竞争优势。(OCaml,Smalltalk和APL担当着类似的角色。例如,许多金融公司都在使用APL,但他们并未广泛宣传它。的确,APL用户通常甚至都不是程序员,因此甚至都不知道在哪里以及如何使用APL。进行宣传,即使他们愿意。)


1
根据Wikipedia的说法,F#年龄8岁。PHP,Java和C#早在进入那个时代之前就已经在知名应用程序中使用。例如,C#于2001年问世。其明显的F#使用率比C#落后一年多。
GrandmasterB

5
@GrandmasterB:那可能不完全是一个公平的评估。F#只是一个实验项目,直到它在VS2010中投入生产为止,尽管它在2008年才可行。所以我不会确切地说它有8年的历史。
罗伯特·哈维


1

我想知道同一件事已经有一段时间了。我真的很喜欢F#,但是在商业应用程序领域什么也没看到。我听说(并且经常听到)F#在金融领域已被广泛使用。

对于功能性编程,存在哪些合适的网络框架?有一些用于函数式编程语言的Web框架示例,我知道http://cs.hubfs.net/blogs/tomasp/archive/2010/05/09/14050.aspx是有关如何编写ASP.Net MVC 2的文章F#中的Web应用程序。

当我一直在搜索有关F#的文章时,很多示例和人们的赞誉以日志解析器的形式出现。但这总是伴随着“我不允许在工作中使用该语言”的警告(当然是措辞)。我将尝试查找更多示例。

我一直在想用F#创建基于文本的MUD(多用户地牢)的想法,但是我似乎从来没有时间。


MUD ==多用户地下城?
罗伯特·哈维

@罗伯特·哈维-没错。我将为那些不认识的人进行编辑。
杰蒂

我忘了添加WebSharper。它允许开发人员完全使用F#创建网站。
杰蒂

0

当我想编写一个SQL解析器时,我简要地看了一下F#,最终我在Haskell中实现了该解析器。也就是说,您可以在任何使用C#的地方使用F#,但这值得吗?如果您将要进行大量的函数编程,那么使用F#是值得的,因为函数构造的语法更友好。如果您主要是在进行OO,最好还是坚持使用C#。


我同意拉里·科尔曼的观点。为什么有人可以在C#中执行某项操作?我认为可以肯定地说,在大多数情况下,F#优于C#并不是在商业应用程序中。
杰蒂2010年

1
我认为这在很大程度上也是MS的观点。C#和VB.NET相互呈现,但我认为F#(在较小程度上,诸如IronPython和Boo之类的语言)的目标是鼓励多语言编程:使用具有独特功能的不同语言来解决不同问题各种各样的问题。
CodexArcanum 2010年

@Jetti F#非常适合任何类型的数据处理,解析以及对准确性至关重要的繁重计算领域。通常,函数式编程提供了一定的表达能力,使许多类型的程序都非常易于编写。这些都不是非常明显的前端内容,例如网站或GUI应用程序(C#擅长的领域)。您可以使用LINQ在C#中获得一些FP,但是F#是表达这种代码的更自然的语言。
CodexArcanum 2010年

@CodexArcanum-我完全同意你的看法。我想我误以为“ Commercial App”,我应该说“ Everyday Consumer Application(即Office,Firefox等)”
Jetti 2010年

1
@Jetti:如果您对学习函数式编程感兴趣,我建议在F#上推荐Haskell。您将更快地学习它,因为您将无法在其中进行程序或OO。
拉里·科尔曼

0

铁JS

我个人认为,我所知道的唯一用F#编写的应用程序允许您用F#以外的语言编写,这很奇怪。

对我而言,这足以说明函数式编程的真正价值。人们可以庆祝他们想要的一切多么“美丽”-如果它是如此美丽,人们会更多地使用它。


我不同意你的最后一句话。人们确实使用F#,实际上,他们已经使用了F#,以至于它已成为Visual Studio 2010的一部分。F#已被金融部门采用,就像Erlang已被电信采用一样。仅仅因为我可以用F#编写应用程序并不意味着我会这样做。语言(和FP语言)各有优缺点,因此将在可从其优势中受益的领域中广泛使用!
2010年

@Jetti,当然。自从构思函数式编程以来,它已有30多年的历史了,但是我敢肯定,它势必会在今天的任何时候将程序性编程从其基础上移开。我并不是说它没有优点-有些功能可以很好地完成。我的意思说它将永远不会占主导地位。
riwalk

@ Stargzer712-我同意它永远不会占主导地位,也是有充分理由的。
杰蒂
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.