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

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#语言简单介绍,在使用过程中肯定会有更多的体验。

 

 

hover(over,out)-JQuery API keydown(fn) -JQuery API keypress(fn)-JQuery API keyup(fn)-JQuery API load(fn)-JQuery API mousedown(fn)-JQuery API mousemove(fn)-JQuery API mouseout(fn)-JQuery API mouseover(fn)-JQuery API mouseup(fn)-JQuery API one(type,data,fn)-JQuery API ready(fn)-JQuery API resize(fn)-JQuery API scroll(fn)-JQuery API select(fn)-JQuery API select()-JQuery API submit(fn)-JQuery API submit()-JQuery API toggle(even,odd)-JQuery API trigger(type)-JQuery API unbind(type,fn)-JQuery API unload(fn)-JQuery API Effects特效-JQuery API animate-JQuery API fadeIn(speed, callback)-JQuery API fadeOut(speed,callback)-JQuery API fadeTo(speed,opacity,callback)-JQuery API hide(speed,callback)-JQuery API hide()-JQuery API show(speed,callback)-JQuery API show()-JQuery API ado.net 我发现JSP一个奇怪的问题???想要看看吗???进来呀!!! 昨晚2点多一个mm突然打电话找我聊天,各位觉得我有戏没? 哪里有完整的MINE解码组件 为什么我装完FreeBSD系统启动时Sendmail启动的特别慢,telnet时也很慢。 小弟初学JSP,想搞点源代码来学习学习。 难搞的MIDAS 局域网的问题,急死了, vb中继承及分辨率问题 ASP里有没有带下拉框的输入框? 象素数据和图象数据 公司的一个数据库被人del,现在想查查是谁什么时候做的? 为什么我的窗口无法操作 关于oracle数据库增量备份土土的一问。 ArrayList问题 请教:在CB6下面怎么用 TMediaPlayer 控件来录音? 南开的vb习题集!!! 请问:如何在servlet中获得当前时间和当前日期?菜鸟问题,请见谅。 为什么我的opendialog不能返回filename,而返回了一个 $符号 大家对购买tcl笔记本等国产笔记本有没有什么建议? 第一次用vfp,新手提问? 请问哪位大虾知道,Crystal 7.0如何记忆上次打印该报表的打印机 纸张大小 纸张方向 边界设定等 如何自动生成新页? 显示器问题!! [代码发布]使用 Lostinet.SqlScope 4.0 实现高效的SQL SERVER应用程序 关于Decode函数的问题 WIN2000下的关机问题?请高手们想想办法! 寻找一个叫dingke的朋友,我将把邮箱给你,但我不小心弄丢了你的联系信箱,请速与我联系 请问:Dialog中可以重载LButtonDown事件吗? 如何用pb实现远程关机!!求救! 高分请教:zip密码遗忘 如何显示一个word 格式的文档,分不够可以再加 怎么获取本机IP。 ★★★★★调查最好的旅游地点!!★★★★★ 高分请教:zip密码遗忘 OUTLOOK公佈網路資料夾的問題 为什么我作的程序都无法运行呢?帮帮忙,多谢多谢 "select * from db where dm='000001' and scbz<>1 order by fsrq desc"为何会出错? 大家对购买tcl笔记本等国产笔记本有没有什么建议? WAP2.0与之前的版本有何不同? SQL2000如何解决还原数据库时的错误 工作台上打开数据库对话框中服务器项中的记忆性值...? 挑战无处不在!!!!!!!!!!!!!!!!!!!!! 这个程序是什么意思啊?? 请教:xml 不支持无值属性,以下我该怎么办。急,在线等。100分恭候 jb整合resin出现的难题! 永远的秋天 为什么我的openoffice中打的汉字无法在页面上显示? 请解释下面的问题 怎样把字符窜(edit.Text)转化为十六进制数 寻求PHP开发人员合作 唐朝与日本、天竺交往最具有影响的两位使者的名字?宋朝对外贸易兴盛,政府设置的对外贸易机构是什么?其 下列事例与化学有关的是利用生物技术研制新药物白色污染石油炼制合成纤维精致服装面料农药、化肥的生产现代建筑、交通、军事等领域中的各种新型材料 谁能帮我做下危险品从业单位安全标准化学品考核评价标准的文件 一道离子反应题目1.向硫酸铝铵溶液中滴加氢氧化钠溶液,毫无疑问,氢氧化钠先和三价铝反应,然后问题出来了当铝离子完全转化为氢氧化铝沉淀后,氢氧化钠先和铵根反应还是先和氢氧化铝反 谁能帮我把这写详细点? 在三角形ABC中,a:b:c=2:4:5,则(sinA-sinB)/sinC的值为 遗传物质的载体可以是线粒体或叶绿体吗 谁能给我写个比较长的新年贺词啊 明天要在全家人面前念 要长一点的我实在是不知道怎么写了 求高手给代写或推荐一篇 写清楚点 在三角形ABC中 a(sinB-sinC)+b(sinC-sinA)+c(sinA-sinB)的值 大气圈的主要成分是什么拜托各位大神-------和------. 世贸组织部长会议下月初在印尼巴厘岛举俄摄影师“高空厨房”揭秘飞机餐(组图德美将达成互不监听协议 明年年初实施尼日利亚一教堂发生踩踏事故 致17人斯诺登将在俄“遥助”德国 作证“监听加拿大暴风雨30多万人受影响 部分地房租过高 白领伦敦上班住巴塞罗那坐飞尼日利亚一教堂发生踩踏事故 致17人李登辉因肺炎住院 女儿:父亲恢复状况洛杉矶机场枪手遭起诉 原拟杀死多名运部分地区行政大楼闲置不用 挤进临时办昆仑万维Q1业绩预告:盈利超9000工业级无人机第二次技术革命,袭来!山寨探险者只卖7万?哈弗众泰BYD你六安:皖西中学组织学生在武汉体验“红光猪圈健身创始人王锋:未来,健身房应富彦斌:爱心助学子 善举暖人心北京警告轰动全球:不先用“核武器” 叙利亚总理:叙军将与俄空军联合行动解奇点将至:张近东详解未来创业的三大风无私分享分时、日、周KDJ与均线组合寻找未知的自己,东风日产叫年青人一起
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘