您所在的位置:开发 > 语言&工具 > 函数式编程语言F#:基于CLR的另一个头等编程语言

函数式编程语言F#:基于CLR的另一个头等编程语言

2009-06-22 13:43 Don Syme Don Syme的博客 字号:T | T
一键收藏,随时查看,分享好友!

本文源自Don Syme的博客。本博文写于2007年底,当时微软刚刚在其平台上集成了F#语言。而F#将在VS2010中被正式包括在内,可以说未来的F#将是.NET平台上函数式语言的代表。

AD:

近几年来,编程语言的一个重要的主题已经转向函数式编程的观念。

诸如C#中的lambda表达式和.NET 2.0中的范型等语言特性都源于函数式语言,而LINQ更是直接基于函数式编程技术。通过LINQ和Parallel FX,函数式语言的想法正帮助我们解决当今业界所面临的最大挑战:从防止数据和对象之间的错误匹配,到多核与并行计算领域所带来的挑战。

微软研究院已经着手在一些项目中研发这些关键技术中几个技术。MSR目前所研发的很有前途的项目之一就是由Don Syme带领的F#编程语言。F#起源于函数式编程的传统(因此是“F”)。虽然它也从C#,LINQ和Haskell中获取了经验,但它也深深地植根于ML家族的语言。从一开始,F#就被设计成.NET家族的一等公民。这意味着F#是运行在CLR之上的,包含面向对象的编程,并确保了和.NET框架的平稳集成。(51CTO之前的相关报道:微软计划在开发平台集成F#语言

我是技术在研究组织和产品开发组织之间转移的狂热追求者。正因为这样的技术转移,我们才能够将很好的研究想法“产品化”,并及时的交付给客户。这是微软从15年前创立微软研究院至今发生的最好的事情之一。现在我们有了另一个技术转换的例子。我们将与Don Syme以及微软研究院的其他人一起合作,将F#语言完全集成进Visual Studio,并继续对F#进行创新和改进。我认为,F#是基于CLR的另一个头等编程语言。

有几方面的因素激发了我们对F#的兴趣。正如我先前所提到的,我们旨在把这样好的想法从函数式编程的世界延续至主流的开发。此外,函数式编程有些数学倾向,这似乎很自然的吸引了那些用数学符号表述关键领域的专业人士,这些领域包括金融、科学和技术运算。强类型系统所带来的一些保障是它语法上最大的吸引力。这些保障在以上这些领域中常常会很关键,而且还能通过Visual Studio带来极好的工具体验。

另一个动机是进行不断的投资,使.NET框架成为学术领域的不错选择。现在,世界上许多计算机科学专业教授函数式编程语言。我们相信,通过F#和诸如IronPython、IronRuby之类的语言,我们能为学生和教育工作者们提供当前主流之外的其他选择,并且能在课程中使用这些语言。这一点为教育工作者提供了一个选择,使他们能在不同的课程中使用Visual Studio作为其一致的工具集。

51CTO编者:函数式编程这一概念的出现已经有了好几个年头,但是到目前为止,在开发者中间仍然不太受欢迎。有评论说函数式概念太复杂,“似乎只有拿着博士学位的人才玩得转”;也有人对其赞赏不已,认为这种编程风格大大的简化了代码,令编码过程更加清晰。除了F#之外,Scala语言也是一个比较广泛为人所知的函数式编程语言,有兴趣了解的读者可以参考51CTO的Scala编程语言专题

【相关阅读】

  1. Visual Studio 2010将正式包含F#
  2. Scala如何改变了我的编程风格:从命令式到函数式
  3. 关于测试和恢复性的争论:面向对象vs.函数式编程
  4. Scala编程语言
  5. Visual Studio 2010爆F#二进制兼容性问题
【责任编辑:杨赛 TEL:(010)68476606】



分享到:

热点职位

更多>>

热点专题

更多>>

读书

网管员必读—网络基础
本书共分两篇,15章。其中前6章为网络理论基础篇,介绍的是基本的网络技术,包括计算机网络分类、网络通信协议、IP地址和网线制

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i