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

函数式编程语言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

 

Java EE 8愿望清单:缺少这些,Java EE将不会完美 Surface Watch?传微软正测试搭载Win 8的智能手表 又一美国造?联想在美设厂制造产品 软件定义未来 2013 SDCC中国软件开发者大会全面开启 可以直接拿来用的15个jQuery代码片段 程序员最害怕的5件事 你中招了吗? 机器智商已达四岁:亲,是时候考虑你的饭碗了 读60行代码完成的NoSQL数据库,看数据库打造面临的挑战 聚焦全球移动市场:韩国,开放之后是春天? Github 终于开始认真考虑开源项目许可证了 雅虎发布今年第二季度财报 总营收为11.35亿美元 既然无法避免被GAE锁定,何不考虑其中的机遇并自力更生 19亿美金背后的分析:91为什么要卖?百度为什么要买? 直接拿来用!最火的iOS开源项目(三) 让代码飞一会儿,超级有用的CSS编码工具集 创业者如何在Demo演讲上打动投资人? 微软小打小闹的移动版Outlook Web App,会不会被用户抛弃? 哪门编程语言影响力最大? 微软启动“Companion Web”计划 可互连多屏幕设备 让你望而却步的密码管理服务已获得100万美元的种子基金 SDCC 2013开始公开征集讲师和演讲主题 不用图片和JS,照样创建绚丽的动态CSS3菜单 是福还是祸?开发者饱经风雨的内心独白 设计师/开发者看过来,七月35款新工具速递! Hadoop进军机器学习:Cloudera收购Myrrix共创“Big Learning” 张民杰:三人团队的OpenStack机会 White Elephant:开发者必备的Hadoop利器 不及分析师预期:微软第四季财报揭晓 净利49.7亿美元 Facebook收购英国手机代码验证公司Monoidics Apache基金会废弃其C++标准库 鲍尔默宣称微软有一百万台服务器,这个数字真的靠谱吗? dbgrid选中的问题?在线及等!!!!! 各地软件工程学院的学生都写写自己在学校学习的经历和体会! adobeacrobat 耗尽内存 如何解决 ! 新手求助:ADOQUERY控件的问题 文件与下拉列表 真搞不懂 关于办公系统及美术设计问题 API 局部放大函数 版主为什么删除我的帖子? 浏览器对象模型与文档模板(DOM)有什么不同和联系? 在datalist或datagrid中绑定的checkbox如何控制呢? 我的xp系统中ABC输入法,词组记忆功能始终不能用,请问怎么解决。 如何编程打开一些特殊窗口?如网上邻居,我的电脑属性,设备管理器 请教又一ShellListView和ShellTreeView中的问题?还望大家多多指教! 不懂!不懂!不懂!关于文档和视图。 将照片从数据库中取出,并显示到Image控件中,若当中不用文件作为临时存储行不行?? 弹出菜单怎么做 关于存储过程执行的正误判断及数据回滚问题。 关于LPCWSTR的问题? TChart的Canvas写上字后,最小化再最大化后字就没了, [2]请大家无论如何都要帮个忙,oralce存储过程性能问题,高手请进!!! 请问如何直接取得其它计算机的系统时间 如何使的 Form2 在 Form1 的 Top ? 怎样在pagecontrol的一个tabsheet中的页面加一个上下的滚动条 急!将textbox控件放入table中后无法通过controls获得textbox的id? 大家说说看!! 初来乍到,向各位学习,请大家指点一下,介绍些好的C#的WEB源码示例。 请大家帮我看看! weblogic发布servlet的问题 Fatal Error 的问题 哪里有和手机一样的笔划输入法下载. 哥哥们,问题还没有搞定,帮帮忙吧,很急呀,分不够可以加分 XDevClub.Com[X时代开发俱乐部]欢迎大家一起来讨论,来者有分 求救!!我的vc缺少一个 psapi.h 头文件!!!急用,帮忙粘贴一下,当场给分!!! 怎样更改CListCtrl中内嵌的CHeadCtrl控件的风格? 有关TChart的问题? 我怎样才能获得插入语句的ID值? 求帮助数组的问题 给分100 紧急求救 在DELPHI里执行ORACLE存储过程出错??? 当按照书名查询时,系统提示没有该索引:no index with 'bookname' field.何故 CorelDram教程碟不能播放怪的问题!! 如何在vb調用SQL存儲過程,并能得到返回的參數值. 哪位大侠帮帮忙呀!! 用CString的Find(LPCTSTR pstr,int nStart),pstr有没有通配符,急!!!!! 一个XP与2000的共享问题 打印问题,请各位提点建议。 DBA的缺省密码---【在线等】 错误:"参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。" 产生原因 免费100m asp 空间 求救,如何打开一个USB设备,CreateFile吗?请具体些 东西罗马如何分裂和灭亡 NaCl转化为NaCo3只要一步. 字谜:武术运动员拿过教练的书,放在剑的旁边;围棋运动员捡了一颗棋子放在瓷盆上. 罗马皇帝是提奥多西还是狄奥多西 如何只得到NaCl,而不得到NaCO3? 武术运动员拿过教练的书,放在剑的旁边;围棋运动员捡了一颗棋子放在瓷盆上,猜一猜,这两位运动员分别姓 铝板研磨时,如何防止表面被氧化, 灯泡的灯丝烧断后搭接,搭接处还容易烧断原因是什么?我觉得是因为电阻变小,实际功率大于额定功率造成的,可答案不是,征求广大朋友的建议 化学,求解决 罗马何时分裂 常温下,将PH=a的NaoH溶液与PH=b的醋酸溶液等体积混合,恰好完全反应则醋酸溶液与NaoH溶液的物质的量浓度A 前者大 B后者大 C相同 有X,Y,Z三种金属,只有Z在自然界中主要以单质形式存在,如果把Y加入X的硝酸盐溶液中,Y表面有X析出,则这三种金属的活动性由强到弱的顺序为 铝板被消毒水氧化怎么办? 用醋酸钠和硫酸为什么能反应出醋酸和硫酸钠?是不是因为什么强酸置弱酸?如果不是,那是什么?醋酸钠和醋酸那个酸性更强? 一个苯环上有一个丙基(-CH2CH2CH3),问所有C原子可能共平面吗?答案是不可能,我怎么也想不通,我认为丙基上的3个C都能转到一个平面, 离子交换膜的用途是什么包括工艺原理是什么 从悬液中分离细胞和细胞器所采用的技术是什么 一个苯环上有一个丙基(-CH2CH2CH3),问所有C原子可能共平面吗?答案是不可能,我怎么也想不通,我认为丙基上的3个C都能转到一个平面,到底可不可能,还是答案错了 丁烯醛和丁醛哪个更易发生亲和反应比如和HCN,NaHSO4等化合物的亲核加成反应.在同一亲核试剂的条件下,醛发生亲核反应的活性与三个因素有关:电子效应、空间位阻效应、反应中间体的稳 硫酸与乙酸钠反应后如何分离 含铁2+的溶液有哪些{4个}含铜2+的溶液有哪些【4个】 怎样知道硝酸镍里有没有铁 75cm 细胞培养瓶 接种多少细胞 :混合密度 1.1m^3的水和2m^3的酒精混合后,体积为原来的0.9倍,求混合液的密度.水的质量为:m水=V水ρ水=1m^3*1.0*10^3kg/m^3=1.0*10^3kg酒精··········:···························· 乙酸为什么可以与水任意比互溶 硝酸铜和醋酸镍哪个先分解 细胞培养离心收集细胞时为了让细胞能完全重悬,应如何操作? 乙酸镍饱和溶液中的铁锈 如何去除 丁醛与氢氧化钠反应的化学反应 如何配制KCN试剂 蛋白质等电点测定为什么要在缓冲液中进行 我想化验硝酸镍中镍的浓度比,谁可以帮我?我在义乌,有一种电镀挂水中含镍,我想通过化学仪器测出镍的浓度,一般化工大学里的人都可以测出,我希望那位高人帮我 用生活中的器材,试着测量一个玻璃茶杯的体积(注意不是容积),写出所需器材和做法. 饱和氯化钡中氯离子和钡离子也饱和吗?那为什么电解饱和氯化钡没有钡单质生成, 若用实验证明CuSO4溶液显蓝色不是由SO42-离子造成的,下列实验无意义的是 :A 观察Na2SO4溶液,溶液没有颜色B 对比不同浓度的CuSO4溶液的颜色差异,浓度小的溶液颜色较浅C 向CuSO4溶液中滴加足量氯 物理公式中那些要注意方向问题物理公式使用时位移和速度要同向吗那比如位移向左,速度斜向上可以吗 为什么要划分东西半球?划分出来了有什么意义么? 证明硫酸铜溶液显蓝与SO42-无关,没意义的A观察硫酸钠溶液有没有颜色,B向硫酸铜溶液中滴中适量的氢氧化钠溶液,振荡后静置,溶液蓝色未消失 ,C向硫酸铜溶液中滴加适量的氢氧化钠溶液,振荡 为什么人总爱吹牛? 水 醋酸 谁更弱?都是弱电解质,那谁的××更弱呢?PS:我不知道××是什么.. 用什么可以腐蚀花岗岩我试过一些化学物,没用的。谁要是能有把握的就告诉老哥,单凭理论想象可以的不要来忽悠我去做实验。 [一道化学题]铅蓄电池.(请求完整地解题步骤)铅蓄电池是一种常见的使用方便、电压稳定切安全可靠的电源,在交通及通讯等行业有广泛的应用.有一种铅蓄电池中所用硫酸溶液的质量分数 如何分离冰醋酸和水 什么是电生成Fenton试剂?是否就是Fenton试剂?Fenton试剂法属于均相催化氧化,电催化氧化属于多相催化氧化,而在电催化氧化中由于生成活性中间体H2O2,而后提及电生成Fenton试剂体系,是怎么回事? 怎样使氢氧化钠和铝的反应加快 醋酸会与水反应吗 什么是fenton 试剂,他有什么作用 细菌涂片未经热固定会出现什么问题 醋酸和水能否分层 请问Fenton试剂制作方法和配方,就是硫酸亚铁如何配置含量多少?双氧水含量多少?硫酸亚铁和双氧水的比例怎么配,是用作池塘氧化有机质的,主要用于氧化作用,不懂的请不要在网上复制一大片, 一般细菌涂片 未查到细菌怎么出报告 求视频:脑筋急转弯:荷叶一天长大一倍,十天长满整个池 塘,请问几天长满半个池塘 用化学腐蚀方法在大理石刻字为什么要涂上石蜡 细菌涂片怎么制作? 荷叶一天长大一倍,十天长满整个池糖,请问几天长满半个池塘?(脑筋急转弯) 哪里有大理石刻字的 怎样做细菌涂片 池塘的荷叶,每天长一倍,20天长满整个池塘.问多少天长到一半池塘? 铜锂试剂,如二甲基铜锂如何成键的?铜、锂是如何与甲基结合的?最好能给出个结构式. 请问前列腺液细菌涂片和细菌培养的区别病情描述(发病时间、主要症状等):请问前列腺液做细菌涂片和细菌培养的区别,谁的检查病原体的准确率高,如果细菌涂片检查未发现细菌是不是意味 卜拉希米:日内瓦会议不能缺少叙反对派奥巴马出席投资美国峰会 承诺加强吸引日再上传英文版主张独岛主权视频 韩再德国成欧洲首个允许出生登记性别栏空白德国成为欧洲首个允许出生性别栏填写空会议记录爆奥巴马医改网站开通首天仅6法一酒店房间装透明天幕 住客仿佛置身韩政府再次敦促日方删除主张争议岛屿主日本东京民众提前两天排队等待购买新款调查报告称澳移民目的地开始从欧美转向日本学生12万粒杏仁膏立体再现法国印芬兰计划实施新禁烟法 拟禁居民在阳台日本议员“告御状”欲破天皇不干政禁忌韩被日本强征女劳工状告三菱获胜 获赔调查报告称澳移民目的地开始从欧美转向会议记录爆奥巴马医改网站开通首天仅6芬兰计划实施新禁烟法 拟禁居民在阳台斯诺登不会赴德就监听事件作证 可在俄重大内政外交事奥巴马一问三不知 遭讽韩国法务部否认对检方调查国情院干政案韩国女劳工曾被日本强征 胜诉将获赔上节前进入债务索还高峰期 借条成催收关信用卡跨境支付风生水起 第三方支付加调查指逾8成受访者认同香港小孩依赖父日本推出立体便签条 让阅读进入炫酷3信用卡新骗术,别中招\"环保总动员\"进社区:\"绿动\2015公积金政策最全汇总 关乎你的“孔子学院”走进湖南 打造传统文化学弘扬传统美德 湖南国学妈妈欲筹10万火箭正式提名姚明入选名人堂欧文谈复出:这是漫长的一段路程互联网营销需找对方法 实现传统企业成2015年超50位银行高管离职 他们北京近万套公租房公开配租 涉及六区七“最难投资的2016” 你布局好了吗韩服《伊卡洛斯》2.0宣传视频曝光 多生孩子打群架?通用2016年要推出不是核武器!这才是解放军最强大的武器细数让十二星座遗憾的事是什么《无限英霸》全新版本“黑箱测试”开启买车选啥?2015年度最火爆小型SU
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘