且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

 Visual Studio 2010中的新语言

更新时间:2022-05-07 17:01:05

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中那样的方式。既轻量级的,灵活的,数学类的编程方式。

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
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#提供了一种强健的编程模式和灵活优秀的功能,使这些显现的更为直观。最为重要的是,我们可以在过去习惯了的线性编程模式下进行异步编程。
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
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 # 源代码的脚本和交互方式窗口中的代码执行结果。 在右上角窗体中是脚本创建的图形。

 Visual Studio 2010中的新语言

图1 交互式设计窗口

度量单位

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

 Visual Studio 2010中的新语言

图2 注释浮点单位

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