微软对大数据程序员:试试f#

微软的f#语言适合并行编程,面向数据的问题解决

微软的f#语言适合并行编程,面向数据的问题解决

面向对象的函数式编程语言大约在2004年由微软研究院发起。它是由公司的首席研究员唐·赛姆设计的。该语言适合于面向数据的编程以及并行编程和算法开发。f# 3.0以支持大规模的结构化数据和api为特色,于去年发布,同时发布的还有微软Visual Studio 2012 IDE中的Visual f#工具更新;微软最近更新了其尝试f#的网站,它还提供了使用f#的工具和资源。InfoWorld编辑Paul Krill最近接受了Syme的采访,就微软试图用该语言实现什么目标进行了探讨。

[也:15个免费的微软工具]

信息世界”:开发人员可以用f#做哪些c#、c++、Visual Basic或其他可用编程语言已经做不到的事情?

赛姆:一个主要的区别是f#是一种函数优先的语言,而且在很多方面是一种数据优先的编程语言。该语言的构造经过精心设计,以便以函数式编程的方式促进面向数据的问题解决和操作。函数式编程的一个关键方面是降低对数据结构进行例程操作时的错误率。

微软正在拥抱Git版本控制系统。|订阅InfoWorld的开发者世界通讯浏览有关软件开发的新闻。]

信息世界”:函数式语言到底是什么?

赛姆:其主要特征之一是数据以一种称为不可变的方式表示。这意味着你有了数据的描述,比如设计,所以也许你可以想象拍一张照片,而编程更侧重于转换你所拥有的并产生一个新的结果。Instagram,例如Excel也是一种功能性的系统,你获取数据并指定数据如何在系统中变化。函数式编程语言是一种将这种范式应用于通用编程的语言。

信息世界”:f#背后的主要推动力是什么?

赛姆:它减少了部署分析软件组件的时间。你会发现这种编程,特别是在金融和保险行业,也会在大量的科学或面向数据或数据密集型编程领域。微软之所以支持f#并对f#做出贡献,是因为我们希望在我们的平台上拥有一流的函数式编程体验。微软为f#贡献了三样东西:一是Visual f#工具,它是Visual Studio附带的。微软研究院为f#贡献了语言设计,我们也贡献了这个星期刚刚发布的Try f#站点。

信息世界”:f#基本上是用于并行编程吗?

赛姆:是的。这是f#非常擅长的事情之一,它来自于这种功能性的、无状态的编程方法。

信息世界”:f#有开源版本和商业版本吗?

赛姆:当你在Mac或Linux系统上使用f#时,你通常使用f#的开源版本。当你在Windows系统上使用它时,我认为使用微软的f#实现和可视化的f#工具是正常的。据我所知,你可以在Windows系统上使用开源版本。可以,但人们通常不这么用。

信息世界”:您提到了Visual Studio中对f#的支持。除了Visual Studio之外,还有其他工具可以用f#来开发吗?

赛姆:f# Software Foundation为MonoDevelop提供了工具,这是一个跨平台的IDE,他们也为Emacs提供了工具,而且他们还有很多其他工具,在其他编辑环境中使用的集成较少的工具。

信息世界”:f#已经完成了多少开发工作?你能举出任何使用过它的知名程序或网站吗?

赛姆:f#有很多用户。例如,StackOverflow上有4000个关于f#的问题。这些问题表明有相当多的人使用这种语言。

说到使用它的人,我们经常谈论一个由微软广告平台完成的系统,它是一个机器学习系统,使用f#作为实现语言。这是一个核心算法,用来决定应该投放哪些广告来回应来自必应或类似网站的搜索请求。这些都是非常关键的核心算法和我们与f#联系在一起的那种编程,你可能会有一些核心算法代码或核心数据分析代码是用这种语言编写的。

然后在外部,它将被部署到一些更大的系统中,因为f#的主要好处之一是它与。net和c#这样的系统有很好的互操作性。你可以将f#集成到一个更大的系统中。那个系统非常好。在微软网站上有来自格兰其保险公司的案例研究,也有来自欧洲一家主要银行的案例研究,该银行有超过100人用f#编写他们的定量金融模型。

信息世界”:你会在网络程序中使用f#吗?

赛姆:当然,您可以将f#用于服务器端Web编程。可视化的f#工具并不特别针对客户端Web编程,但是还有第三方公司提供的其他f#工具。我向你推荐IntelliFactory,他们做了一个叫做WebSharper(用于HTML5网络编程)的工具。

信息世界”:微软如何从f#中赚钱?

赛姆:微软在语言方面的投资是可以理解的,因为我们的平台有可编程性的要求。我们在f#上投资是因为这有助于使我们的平台变得更好,并且通过我们的平台我们获得收益。

信息世界”:对于f#的游戏计划,还有什么是你想谈论的至关重要的吗?

赛姆:关于Try f#,我感到非常兴奋的一件事是,人们不仅可以学习f#,而且可以看到在f# 3.0中如何将数据集成到语言中的突破性想法。现在的人们想要使用一些非常精炼的东西,在那里他们可以玩想法,看看它对他们的编程有什么不同。这些东西可以传播得很广。

例如,我们在f# 2.0中进行异步编程,现在已经发展到c# 5.0。看到这些思想从最先进的高生产力函数语言发展到更广泛的编程行业,真是太棒了。对我这个研究者来说,这也是一个巨大的成功。

这篇文章中,“微软对大数据程序员:试试f#,最初发表于InfoWorld.com。遵循商业科技新闻的最新发展并在每天的报纸上获得重要新闻的摘要信息世界每日简报。了解最新的商业技术发展新闻,请跟随在Twitter上InfoWorld.com

阅读更多有关应用程序开发的信息在InfoWorld的应用开发频道。

这个故事,“微软对大数据程序员:试试f#”最初是由信息世界

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对最重要的话题发表评论。

版权©2013Raybet2

工资调查:结果在