函数式编程语言F#
文/高昂作为微软支持的第一个函数式语言,F#在项目中被越来越多的开发者选用,8月的TIOBE排行榜,F#挺进前二十。源于微软研究院的F#语言因其优良的设计和强大的并行编程能力,正得到越来越多.NET开发者的选用。在8月的TIOBE语言流行度排行榜中,F#语言首次进入了前二十位。F#是微软.NET框架环境下的静态类型化函数式编程语言,支持以面向对象或泛型编程等多种风格来撰写程序代码。F#...
·
文/高昂 作为微软支持的第一个函数式语言,F#在项目中被越来越多的开发者选用,8月的TIOBE排行榜,F#挺进前二十。 源于微软研究院的F#语言因其优良的设计和强大的并行编程能力,正得到越来越多.NET开发者的选用。在8月的TIOBE语言流行度排行榜中,F#语言首次进入了前二十位。F#是微软.NET框架环境下的静态类型化函数式编程语言,支持以面向对象或泛型编程等多种风格来撰写程序代码。 F#基于函数式编程语言Objective Caml(OCaml)设计,具有OCaml常用的核心语言功能,以及函数式编程语言的其他特性。OCaml是在Perl之外,又一门以骆驼为吉祥物的编程语言。Ocaml被选中的部分原因是它提供了函数式、命令式和面向对象的混合编程风格支持。在OCaml语言中,函数式能够像变量一样方便地在程序中传递,并且OCaml是能够自动侦测程序范型的函数式编程语言。
F#语言最初由微软研究院的首席研究员Don Syme设计,设计者Don Syme于1999年从剑桥大学计算机实验室获得博士学位,他还参与了C#泛型和.NET CLR的设计工作。在语法设计上F#具备优雅的结构,同时F#被设计为类型安全且具备良好性能的编译语言。在微软决定将F#进一步推广应用之后,F#被转移到微软专门的开发部门维护和更新,并在.NET Framework和Visual Studio 2010开发环境中为F#提供了全面支持。此外,开发者还能够在Visual Studio 2008中使用F#,或借助Mono在Linux系统上使用F#。 作为微软支持的第一个函数式语言,F#在项目中被越来越多的开发者选用,这与F#对程序并发和异步编程的良好支持密不可分。微软为F#添加了不少简化开发者处理程序并行和异步编程的便捷特性,以辅助开发者轻松完成多核并发和Web分布式系统的应用开发。在常见的开发模式下,F#用于撰写安全并发和异步处理相关的程序组件,用户界面则使用Visual Basic或C#来编写,而最终产品由F#实现组件和其他.NET开发语言组织而成。 不仅如此,F#目前还广泛用于Xbox 360游戏平台上的代码开发中,为开发者提供了在XNA Game Studio环境下的F#编程支持。微软研究院曾使用F#、TrueSkill以及XNA开发了一款名为“The Path of Go”、具备故事情节的3D围棋游戏,以展示F#在游戏开发和人工智能领域方面的并发编程能力。 感兴趣的开发者可以阅读Don Syme及其他几位F#语言设计者共同撰写的《Expert F# 2.0》一书,深入学习并使用F#语言。也可以阅读游戏开发者Giuseppe Maggiore撰写的FRIENDLY F# with game development and XNA一书,学习F#语言在游戏开发中的应用。
作者高昂,中国标准化研究院助理研究员,从事信息技术标准化研究工作。关注开源社区,也是OSGeo中国和InfoQ中文站成员。
本文选自《程序员》杂志2011年09期,更多精彩内容敬请关注09期杂志
《程序员》杂志订阅火热进行中
更多推荐
所有评论(0)