Visual Studio 2010 中的F# 语言

发表于:2010-03-18来源:作者:点击数: 标签:VSTSStudioVisualvstsvisual
Visual Studio 2010 中的F# 语言 在Visual Studio 的使用过程当中,我们总是希望在.NET 框架下得到一种语言。他可以高效且带有互操作性的来解决宽泛的软件问题。有基于此,在Visual Studio 2010中集成了F# 语言。 F#是一个高效的.NET程序语言。其混合了函数
Visual Studio 2010 中的F# 语言

  在Visual Studio 的使用过程当中,我们总是希望在.NET 框架下得到一种语言。他可以高效且带有互操作性的来解决宽泛的软件问题。有基于此,在Visual Studio 2010中集成了F# 语言。

  F#是一个高效的.NET程序语言。其混合了函数语言和物件导向程序编制语言,并且完美的适用于并行编程、算法、技术和探索性开发,因此可以在使用的过程当中感受到趣味性和吸引力。

  F#主要是由Microsoft Research 和 Visual Studio 小组协作开发的,并采纳了F#社区和一些主要使用者的意见。

  F#为Visual Studio 2010带来了很大的改观。因为替代了局部程序中的元组,因此使工作变的简单了。在异步编程和强类型对于浮点编码方面也提供的不错的解决方式。可以说F# 是Visual Studio 2010中结合了众多优点的编程语言。

  简单简洁的句法

  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 和 .NET 4 中的集成

  F#被集成到了Visual Studio 2010 中,得到了集成开发环境的支持,并提供了IntelliSense(智能提示)和集成的交互式窗口。可以被用于开发程序和组件,比如从 .NET 2.0到 .NET 4以及Silverlight中的组件。F#可以轻松的与C#和Visual Basic .NET相结合。一些 .NET Framework 4的核心组件是用F# 编写的,这些组件可以在.NET框架下的所有.NET语言中被使用。

  在 Visual Studio 中,F # 交互式工具窗口提供了一种探索性开发风格的模式。可以在 Visual Studio 编辑器中看到 F # 源代码的脚本和交互方式窗口中的代码执行结果。 在右上角窗体中是脚本创建的图形。

  图1 交互式设计窗口

  度量单位

  F#中一项突破性的开创就是度量单位的定制,我们可以对浮点编码进行单位注释,比如米或秒。这很容易做到,他的好处就是当浮点编码与注释不符合的时候会报错。这样在不牺牲性能的前提下,就可以对浮点编码进行检测了。

  图2 注释浮点单位

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

原文转自:http://www.ltesting.net