说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

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

HTML文档下载 WORD文档下载 PDF文档下载
近几年来,编程语言的一个重要的主题已经转向函数式编程的观念,微软在Visual Studio 2010中正式发布了F#,F#将是.NET平台上函数式语言的代表。

 

近几年来,编程语言的一个重要的主题已经转向函数式编程的观念。
诸如C#中的lambda表达式和.NET 2.0中的范型等语言特性都源于函数式语言,而LINQ更是直接基于函数式编程技术。通过LINQ和Parallel FX,函数式语言的想法正帮助我们解决当今业界所面临的最大挑战:从防止数据和对象之间的错误匹配,到多核与并行计算领域所带来的挑战。
微软研究院已经着手在一些项目中研发这些关键技术中几个技术。MSR目前所研发的很有前途的项目之一就是由Don Syme带领的F#编程语言。F#起源于函数式编程的传统(因此是“F”)。虽然它也从C#,LINQ和Haskell中获取了经验,但它也深深地植根于ML家族的语言。从一开始,F#就被设计成.NET家族的一等公民。这意味着F#是运行在CLR之上的,包含面向对象的编程,并确保了和.NET框架的平稳集成。
我是技术在研究组织和产品开发组织之间转移的狂热追求者。正因为这样的技术转移,我们才能够将很好的研究想法“产品化”,并及时的交付给客户。这是微软从15年前创立微软研究院至今发生的最好的事情之一。现在我们有了另一个技术转换的例子。我们将与Don Syme以及微软研究院的其他人一起合作,将F#语言完全集成进Visual Studio,并继续对F#进行创新和改进。我认为,F#是基于CLR的另一个头等编程语言。
有几方面的因素激发了我们对F#的兴趣。正如我先前所提到的,我们旨在把这样好的想法从函数式编程的世界延续至主流的开发。此外,函数式编程有些数学倾向,这似乎很自然的吸引了那些用数学符号表述关键领域的专业人士,这些领域包括金融、科学和技术运算。强类型系统所带来的一些保障是它语法上最大的吸引力。这些保障在以上这些领域中常常会很关键,而且还能通过Visual Studio带来极好的工具体验。
另一个动机是进行不断的投资,使.NET框架成为学术领域的不错选择。现在,世界上许多计算机科学专业教授函数式编程语言。我们相信,通过F#和诸如IronPython、IronRuby之类的语言,我们能为学生和教育工作者们提供当前主流之外的其他选择,并且能在课程中使用这些语言。这一点为教育工作者提供了一个选择,使他们能在不同的课程中使用Visual Studio作为其一致的工具集。
编者:函数式编程这一概念的出现已经有了好几个年头,但是到目前为止,在开发者中间仍然不太受欢迎。有评论说函数式概念太复杂,“似乎只有拿着博士学位的人才玩得转”;也有人对其赞赏不已,认为这种编程风格大大的简化了代码,令编码过程更加清晰。除了F#之外,Scala语言也是一个比较广泛为人所知的函数式编程语言。

 

本文作者:Don Syme

近几年来,编程语言的一个重要的主题已经转向函数式编程的观念,微软在Visual Studio 2010中正式发布了F#。

 

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

 

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

 

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

 

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

 

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

 

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

 

本文转载自:http://developer.51cto.com

 

独立游戏的成功秘诀:好设计才是王道 Swift 2.1的新变化 Apple TV实战:用TVML开发第一款tvOS应用 【SDCC讲师专访】阿里王晶昱:云时代的分布式数据库DRDS 硬件研发、嵌入式技术演进:MDCC IoT峰会日程揭晓 我想出去找工作,只带毕业证的复印件行不行? 我的XP所有的程序都被锁定,单击后提示请与系统管理员联系,怎么解决? 为何连接不上SQL Server? 请告知问题出在哪里?如何解决? 代发:沈阳新时空网络公司招聘 如何获取文件的备注?谢谢!!! 爆笑:超级精辟+经典(zt) ASP录入问题? 数据窗口retrieve时发出 “数据转换溢出”的错误,如何解决? D6的原程序在D7中出现问题:Error reading report1.Frzme.Color:Property Frame Dose not exist. 以下为不锈钢的化学成分含量,谁能告诉我他对应的国家 在制造铅笔芯时主要用了石墨、粘土、石蜡,铅笔利用了 在制造铅笔芯是主要用了石墨、黏土、石蜡、铅笔利用了 哪里有做橡胶垫 橡胶圈 橡胶减震垫什么的? 铁的韧性和竹的韧性哪个好的做风筝, 一包纸巾的长、宽、高分别是7cm,5cm,3cm. 材料和直径均相同的低碳钢长短试样各一个,用他们测得 一张塑料纸几乎能让所有色光都通过,则塑料纸是什么颜 数学题解答一小包纸巾的长7厘米,宽5厘米,高3厘米 韩国法院:研究低估三星芯片厂对人体的马达加斯加总统选举开始 或有望解决该美研究称已婚者比单身汉更长寿 但容易男子用数百公斤大南瓜造船 划水距离创韩国前科技官员称福岛土壤污染可通过微深圳:男子内裤藏7443颗碎钻入境被白俄罗斯总统承认克里米亚入俄 称俄创《清明上河图》3D长卷广州首秀济南偷车贼作案划地盘 有人“抢生意”今年中国经济增速料将先跌后稳蜀山前传之九界无形位面旅行系统重生洪荒之冥河主杀战世纪之永恒天魂道魄太平天国军械所遗址旅游苏州木渎古城遗址旅游山塘河游船旅游山塘河旅游古城河水上游览旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘