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

F#是什么语言

HTML文档下载 WORD文档下载 PDF文档下载
F#是由微软发展的为微软.NET语言提供运行环境的程序设计语言。它是基于Ocaml的,而Ocaml是基于ML函数程序设计语言的。 这是一个用于显示.NET在不同编程语言间互通的程序设计。

 

F#是一个基于.NET框架的多模式编程语言、是一种.NET平台上的函数式编程语言、更是一个高效的.NET程序语言。就像C#和VB.NET,F#可以利用.NET的核心类库,如WPF,WCF,VSTO等等,通过F#您甚至可以使用XNA编写XBox游戏。仅仅如此并不意味着您应该去学习它。那为何要使用F#呢?作为一种函数式编程语言,F#使得某些领域的编程要比命令式编程(如使用C#)更为容易。并行编程(Parallel Programming)和面向语言编程(Language-Oriented Programming)是其中的两个领域。
F#语言交互式设计窗口
如果您曾经编写过.NET应用程序,并感觉自己在努力使用手头的语言表达自己的想法,也许F#就是您在寻找的。F#主要是由Microsoft Research 和 Visual Studio 小组协作开发的,并采纳了F#社区和一些主要使用者的意见。F#为Visual Studio 2010带来了很大的改观。因为替代了局部程序中的元组使工作变的简单了。在异步编程和强类型对于浮点编码方面也提供的不错的解决方式。可以说F# 是Visual Studio 2010中结合了众多优点的编程语言。
在F#中函数可以被视为值,可以传递给其他函数,你可以方便地编写高阶函数;F#支持组合式编程,你可以通过使用简单的操作符语法来组合函数;F#提供了支持函数式编程风格的类型,如针对简单数据集合的元组和针对结构化符号数据的discriminated unions;F#提供了许多不可变的数据结构,如不可变的列表、映射、集合、序列和记录等;F#支持异步编程,并且提供了使这种编程比以往更容易的结构;Visual F#中还包括了一个F#解释器,F#互动器(fsi.exe),它能够以交互方式编译并执行代码;F#支持延迟计算,这可以使您直到需要结果时才进行计算;F#支持面向对象语言特征,除了让您使用F#语言开发.NET框架API外,这种特征可以使F#程序能够充分地访问.NET框架。当然除此以外,F#还支持如面向对象语言特征,支持命令式编程结构,支持数学计算等特性。在VS2010中F#除了特征广泛外,它的特点还包括比如说简单简洁的句法、并行和异步的编程。
我们先来看其简单简洁的句法:
  F#像C#一样,是一种强制型的语言。但是我也可以使用类似在Python中那样的方式。既轻量级的,灵活的,数学类的编程方式。
  let data = (1,2,3)
  let rotations (x, y, z) =
  [ (x, y, z);
  (z, x, y);
  (y, z, x) ]
  let derivative f x =
  let p1 = f (x - 0.05)
  let p2 = f (x + 0.05)
  (p2 - p1) / 0.1
  let f x = 2.0*x*x - 6.0*x + 3.0
  let df = derivative f
  System.Console.WriteLine("The derivative of f at x=4 is {0}", df 4.0)
  其运行结果为:“The derivative of f at x=4 is 10”。
  
  在并行和异步编程上,.NET Framework 4 和Visual Studio 2010中,包含了一个关于并行程序开发的庞大文档和工具库。F#提供了一种强健的编程模式和灵活优秀的功能,使这些显现的更为直观。最为重要的是,我们可以在过去习惯了的线性编程模式下进行异步编程。
  let http url =
  async { let req = WebRequest.Create(Uri url)
  let! resp = req.AsyncGetResponse()
  let stream = resp.GetResponseStream()
  let reader = new StreamReader(stream)
  let! contents = reader.AsyncReadToEnd()
  return contents }
  let sites = ["http://bing.com"; "http://microsoft.com";"http://msdn.com"; "http://msnbc.com"]
  let htmlOfSites =
  Async.Parallel [for site in sites -> http(site)]
  |> Async.RunSynchronously
  以上就是Visual Studio 2010中F#语言简单介绍,在使用过程中肯定会有更多的体验。

 

F#是一个基于.NET框架的多模式编程语言、是一种.NET平台上的函数式编程语言、更是一个高效的.NET程序语言。就像C#和VB.NET,F#可以利用.NET的核心类库,如WPF,WCF,VSTO等等,通过F#您甚至可以使用XNA编写XBox游戏。仅仅如此并不意味着您应该去学习它。那为何要使用F#呢?作为一种函数式编程语言,F#使得某些领域的编程要比命令式编程(如使用C#)更为容易。并行编程(Parallel Programming)和面向语言编程(Language-Oriented Programming)是其中的两个领域。

 

 

F#语言交互式设计窗口

如果您曾经编写过.NET应用程序,并感觉自己在努力使用手头的语言表达自己的想法,也许F#就是您在寻找的。F#主要是由Microsoft Research 和 Visual Studio 小组协作开发的,并采纳了F#社区和一些主要使用者的意见。F#为Visual Studio 2010带来了很大的改观。因为替代了局部程序中的元组使工作变的简单了。在异步编程和强类型对于浮点编码方面也提供的不错的解决方式。可以说F# 是Visual Studio 2010中结合了众多优点的编程语言。

在F#中函数可以被视为值,可以传递给其他函数,你可以方便地编写高阶函数;F#支持组合式编程,你可以通过使用简单的操作符语法来组合函数;F#提供了支持函数式编程风格的类型,如针对简单数据集合的元组和针对结构化符号数据的discriminated unions;F#提供了许多不可变的数据结构,如不可变的列表、映射、集合、序列和记录等;F#支持异步编程,并且提供了使这种编程比以往更容易的结构;Visual F#中还包括了一个F#解释器,F#互动器(fsi.exe),它能够以交互方式编译并执行代码;F#支持延迟计算,这可以使您直到需要结果时才进行计算;F#支持面向对象语言特征,除了让您使用F#语言开发.NET框架API外,这种特征可以使F#程序能够充分地访问.NET框架。当然除此以外,F#还支持如面向对象语言特征,支持命令式编程结构,支持数学计算等特性。在VS2010中F#除了特征广泛外,它的特点还包括比如说简单简洁的句法、并行和异步的编程。

我们先来看其简单简洁的句法:

  F#像C#一样,是一种强制型的语言。但是我也可以使用类似在Python中那样的方式。既轻量级的,灵活的,数学类的编程方式。

  let data = (1,2,3)

  let rotations (x, y, z) =

  [ (x, y, z);

  (z, x, y);

  (y, z, x) ]

  let derivative f x =

  let p1 = f (x - 0.05)

  let p2 = f (x + 0.05)

  (p2 - p1) / 0.1

  let f x = 2.0*x*x - 6.0*x + 3.0

  let df = derivative f

  System.Console.WriteLine("The derivative of f at x=4 is {0}", df 4.0)

  其运行结果为:“The derivative of f at x=4 is 10”。

 

  在并行和异步编程上,.NET Framework 4 和Visual Studio 2010中,包含了一个关于并行程序开发的庞大文档和工具库。F#提供了一种强健的编程模式和灵活优秀的功能,使这些显现的更为直观。最为重要的是,我们可以在过去习惯了的线性编程模式下进行异步编程。

  let http url =

  async { let req = WebRequest.Create(Uri url)

  let! resp = req.AsyncGetResponse()

  let stream = resp.GetResponseStream()

  let reader = new StreamReader(stream)

  let! contents = reader.AsyncReadToEnd()

  return contents }

  let sites = ["http://bing.com"; "http://microsoft.com";"http://msdn.com"; "http://msnbc.com"]

  let htmlOfSites =

  Async.Parallel [for site in sites -> http(site)]

  |> Async.RunSynchronously

以上就是Visual Studio 2010中F#语言简单介绍,在使用过程中肯定会有更多的体验。

 

 

Android导出一个JAR库 APK汉化原理及方法 APK文件格式分析,Android反编译入门(一) ApiDemos中的Android Widget例子解析 APK签名导出向导 - Use the Export Wizard 剖析Android自带Widget - Music播放器 剖析Android自带Widget - Clock指针钟表 C#取得Excel工作簿工作表名称 C#中用Automation自动化方式对Excel的操作 VB如何打开或保存为有密码保护的Excel sheets工作表 VB在Excel表格文件中搜索指定内容 VB复制Excel表到另外一个Excel中 Java实现生成网站快照缩略图片 php实现生成网站快照缩略图片 C#实现生成网站快照缩略图片 VB比较两个Excel表格的内容 VB实现Excel按列或行排序 VB删除EXCEL表格指定行 用vb.net写的验证码识别代码 VB删除EXCEL表格指定列 Oracle数据库Windows 2003环境自动备份批处理 VB通过ADODB连接EXCEL表格文件读取数据 使用VBScript卸载软件 Discuz X2用户注册过程SQL Android手机参数表 用jQuery改变图片(image src) 用std::atomic實現簡單的讀寫鎖 ChinaPay网上支付网关.NET开发 VOB生成IFO文件用nero刻录DVD详解 15款开源Android游戏引擎(安卓免费游戏引擎) 将MVC ASPX转换到Razor视图 ??有解密高手吗?或者哪里有这样的论坛?? 怎样用多线程显示多个form? VB串口发送大数据量时其他程序没有反应? 这句sql语句怎么写?低手请教! 数据库高手请进,报表问题!!! 请介绍VC测试内存泄漏的好工具. select number from table需要分别得到所有的值,如果做? 请问如何将下载的控件加到delphi的控件面板上?先谢谢了!!! 一个form里面如何将6个radiobottom 分成两组? 开开关关IE窗口的小程序 请各位高手介绍一下win2K,wingate,sygate这些做上网服务器各使用什么技术?NAT?SOCK5? WIN2000 PRO. 怎样才能通过 NT4+MSPROXY 上网? ASP中如何实现等待几秒再执行下一步的功能? 数据库的烦恼之二 如何在程序中播放Power Point? 散分,帮我看看主机链接是否正常 BDE数据库的问题。 win2000中怎样配置开机启动文件(如98下的Msconfig) 痛苦的人请看 http://www.csdn.net/expert/topic/425/425671.shtm (UP者有分!) 关于strlen函数 高手请进 vc中是否有函数readline(),该如何调用, 如何将我写好的.java文件编译在单片机的系统中? 下载的.rar格式的文件怎样打开 怎么是查询(select)不受更新(update)的阻塞? 请老大帮帮我啊 怎样获得WIN98系统的日期格式啊? 超级终端的传输格式 关于strlen函数的问题 请教:关于soft-ice软件的问题 谁有Exange 2000操作手册之类的东东?还有下载ftp地址和密码,谢谢!收到马上给分!急用! NetUserAdd怎么用,我下面是否用错了,结果会蓝屏,dump!!(KMODE_EXCEPTION_NOT_HANDLED) 以超级终端YModem协议传输文件时,数据包的格式 想知道到底有多少公司用到ejb,j2ee,rmi? asp:HyperLinkColumn中的DataNavigateUrlFormatString如何带多个参数? 有关DataReport的使用 我怎样通过dcom调用applationserver上的方法 请问inter c++ compiler的头文件定义问题 请问哪些行业用Powerpoint比较多? 关于处理文件的问题,请指点…… 请问有谁知道只封锁ctrl+alt+del的方法. 很适合回去好好研究!欢迎指正!! 需要帮助,针对ActiveX OCX怎么能够对其数字签名从而降低其在IE中的安全性? 高分求一条 SQL 简单语句 ! tomcat4.0.1+oracle MDI子窗口在显示时,怎么样才能不出现最大化时的拉大的过程!!! 在jframe中用setIconImage()方法设置界面的图标,怎么好像不能用.ico的文件? jsp的分页技术 如何在98下ping死局域网中的一台机器(分数太多,想分人) 请问有没有一种图像处理工具…… 如何处理--在使用sql语句建表时的重表问题? 小弟请问各位大侠 谁知道蚊子为什么要吸人血 有两包糖,每包糖内都有奶糖,水果糖和巧克力糖.第一包是第二包的3分之2,第一包中奶糖占百分之25,第二包糖中水果糖占百分之50;巧克力糖在第一包糖中所占的百分比是在第二包糖中所占百 蚂蚁,蜜蜂,苍蝇,蜘蛛,蚊子.划去不同类 人工造蛋和土鸡蛋怎么区分? 有两包糖果第一包的粒数与第二包粒数之比是2:5在第一包中奶糖占30%在第二包中其他糖占42%把两包糖合起来奶糖占的百分数是多少? 我家出现大量小黄蚁、大头蚁、黑蚂蚁、小蟑螂、小老鼠、蚊子苍蝇,还有少量蜈蚣、超大型蜘蛛~我家出现大量小黄蚁、大头蚁、黑蚂蚁、小蟑螂、小老鼠、蚊子苍蝇,还有少量蜈蚣、超大型 怎么辨别真鸡蛋和人工蛋? 有两包糖,每包糖内都有奶糖、水果糖和巧克力糖.(1)第一包的粒数是第二包的3/4,第一包奶糖占20%,第二包水果糖占60%;(3)巧克力糖在第一包糖中所占的百分比是在第二个糖中所占百分比 蜜蜂能酿蜜,蚯蚓能松土,蚂蚁能帮人类干什么?十分急. 饲料鸡蛋和人工蛋有什么区别? 什么鸡生的蛋不能吃 在一个阴湿山洼草丛中,有一根长满苔藓的腐木,其中聚集着蚂蚁,蚯蚓,蜘蛛,老鼠等动物.其中,阴湿山洼草丛中的蚂蚁是一个种群.为什么是错的?已经确定是错的了,请高手回答,忽悠的靠边站 老师把巧克力平均分给一些小朋友,平均每人分9块还剩7块.则至少有几个小朋友?(巧克力数为未知) 很细像昆虫的是什么蚊子 有13盒糖果,其中12盒质量相同另有一盒少了几颗糖,如果用天平称,至少称几次可以找出这盒糖果?请写出过程 一盒巧克力,7块7块地数,5块5地数,3块3块地数都余下一块.这盒巧克力有多少?急 一种跟蚊子很像的昆虫,可是它却比蚊子大多了,有飞蛾那么大 会发光的虫子除了萤火虫还有什么? 蚊子为什么要吸人血?拜托了各位 谢谢 一只蚊子一次能吸人多少血? 什么鱼吃昆虫水里(蚊子等)的幼虫? 蚊子为什么要吸人血呢?一到夏天,蚊子就出来咬人,为什么要吸人的血呢? 把66块糖和75块巧克力平均分给一组同学,结果糖剩2块,巧克力剩3块,这个小组最多有几位同学? 什么昆虫吃蚊子 为什么蚊子要吸血?它会只是吸人血吗? 哪些动物或昆虫的腿有四条以上越多越好 现有两包糖,每包中均有奶糖、水果糖和巧克力糖.(1)第一包的粒数是第二包的2/3;思维拓展题 现有两包糖,每包中均有奶糖、水果糖和巧克力糖.(1)第一包的粒数是第二包的2/3; (2)第 蚊子为什么要吸血? 哪些动物或昆虫没有腿越多越好,我要详细称,一次性说的最多的才为最佳答案 除了萤火虫会发光之外还有什么昆虫会发光] 蚊子在吸过一次血后就死亡吗?人们说母蚊子吸血,那公蚊子靠什么维持生命?它若不吸血吃什么? 昆虫和动物有头和腿 翻译为英语 这个虫子叫什么名?是萤火虫吗? 蚊子,苍蝇等昆虫有鼻子么,需要呼吸么? 钻入皮肤的虫子晚上突然感觉身上一处有点疼,打开台灯看到一个绿色的圆圆的虫子,头钻在皮肤里面,还有几只脚在外面划动,大约一两个厘米那么大,用指甲捏住死劲拉,好像有钩子勾住肉内,虫 除了萤火虫还有什么昆虫会发光?体长2cm左右,在屋里乱撞,飞行的时候一直发着亮光,停在墙上的时候一闪一闪的,萤火虫不到1cm应该不是吧.没有明显的翅膀,身体一节一节的样子,形状和甲虫差 一盒巧克力,7粒一数还余4粒,5粒一数又少3粒,3粒一数正好没剩余,这盒巧克力至少有多少粒? 有本小说.是说的主角可以吸收动物和昆虫的能力在自己身上的.然后运用这些能力.谁知道这本小说的告诉下怎么没人知道这本书吗.或者有相同累行的书也可以的.有的大大请告诉下,或者有什 渔船上的捕鱼鸟我记得在中国南方,有种可以捕鱼的鸟,由渔夫饲养长大,出去捕鱼的时候,五六只这种鸟会站在船头,看见鱼就下河捕捞,返回船舱时,它们可能会主动吐出鱼,脖子被绳子轻轻绑着, 苍蝇、蚊子、蜜蜂等昆虫飞行各有什么特点? 那部小说里只要昆虫喝了主角的血就会变得强大主角可以把昆虫的能力学到我就知道主角有的苍蝇小弟 关于萤火虫 ,昆虫萤火虫发光的目的..萤火虫会同类相残吗?我记得我曾经看过一篇文章说萤火虫是会同类相残的...这是真的吗?为什么昆虫会同类相残?那些昆虫会同类相残? 苍蝇、蚊子和蜜蜂飞行时有什么特点? 那部小说里的主角有苍蝇小弟主角可以得到一些昆虫的能力 谁知道萤火虫可以卖吗?我说的可是昆虫啊.我说的可是会发光的那种昆虫啊.我说是如何实现它的商用价值, 苍蝇,蚊子,蜜蜂飞行时有什么特点? 找小说主角可以融合昆虫的优点比如蚂蚁的力量和跳蚤的弹跳力 萤火虫与其它的虫子有区别吗? 为什么果糖比葡萄糖甜,和结构有关吗 主角能够吸收各种昆虫能力化为己用的都市小说 胜利号出海捕鱼,8月份上半月出海12天,平均每天捕鱼52吨,下半月出海12天,共捕鱼576吨.按出海天数计算.这个月平均每天捕鱼多少吨.还要算式 果糖属于还原性糖么?他可以与菲林试剂反映么?他不是酮糖么?怎么有人说他还可以与非林试剂反映~ 把一些巧克力平均分成若干份,每包10块,多9块,每包12块,多11块,每包15块,多14块,求饼干最少几块? 一个捕鱼队9月份捕鱼63吨,10月份的捕鱼吨数比9月份增加了3/7.10月份捕鱼多少吨? 葡萄糖与果糖谁更甜?为什么? 把9块饼干平均分成10份,每份是这9块的(),每份是 有15盒糖果,其中12盒质量相同,另有一盒少了几颗糖,如果用天平称,至少几次可以找出这盒糖果?请写出过程 蚊子为什么要吸人血啊? 蚊子算昆虫吗? 1燕子2苍蝇3蜻蜓4老鹰5蚂蚁6乌鸦7蚯蚓8蜜蜂9麻雀10鸵鸟11蜘蛛12黄鹂 这些动物里面哪些是鸟类,哪些是昆虫类?(还有些即不是鸟类,也不是昆虫类)谢谢!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn