原文链接:http://www.infoq.com/cn/news/2008/12/FSharp-Release。
在2007年,微软就透露F#将在未来的某个时刻成为.NET平台的头等语言。现在,它终于宣布F#将被包含在Visual Studio 2010中。
F#——微软支持的第一个主要的函数式语言,其基于OCaml。Ocaml被选中的一部分原因是,它支持函数式、命令式和面向对象的混合编程风格。虽然F#和OCaml吸引人们的地方是函数式编程,不过其他重要的方面还包括它们可以利用.NET框架的功能特性。
现在,F#还没有被考虑作为.NET 4.0的特性。而是像J#那样更多地作为一个独立的分发包发布。这样允许微软为F#在Mono和CLR 2.0平台上的运行提供支持。
与另外一个新微软语言的精神相同,F#编译器和工具将在微软公共许可协议(Microsoft Public License)下开源。这一许可协议是所有微软许可协议中最宽松的一个,基本来说你只要保留版权声明并且不对作者提出控告,那么你就可以做你想做的任何事情。
在Visual Studio里,F#并不倾向于被单独使用。虽然微软鼓励开发人员使用F#来构建应用程序的核心,但对于呈现层他们还是推荐使用VB和C#。Don Syme继续解释到:
我们所关注的是,发布一个高质量的F#核心工具,可以增强Visual Studio的实力,让其成为一个具有丰富界面开发能力的面向对象的编程环境。结果,我们做出了一个明确的决定,在这个版本中还是利用C#和Visual Basic的强大能力来作为呈现界面和具有良好设计器支持的编程语言。这意味着,F#用户将要使用Visual Studio设计工具来生成C#或Visual Basic代码,并把这些组件合并到他们的F#应用程序中。
虽然F#超越了OCaml的基础功能,但它没有完全地抛弃它们。通过使用F# Power Pack组件,开发人员将依旧能够编写可被编译为OCaml的F#代码。这就要求使用有限的语言子集,尽管可以期望工具能告知开发人员哪些是只适用于F# 的代码,但人们还是会感觉到诸多限制。
Don Syme总结:
F#是微软研究院、剑桥和微软开发部联合进行的高级开发项目。我非常高兴作为语言构架师参与其中,并且我将一直留在微软研究院。我们强大的团队包括了来自剑桥、Redmond、温哥华和 中国的人们,一些团队成员还工作在德国和纽约。我一直被这些和我工作于同一个项目的人们和他们展现出的才能所折服,我希望这个项目在微软能成为一个创新开发的带头榜样。