在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#语言简单介绍,在开发使用过程中肯定会有更多的体验。
文章来源于领测软件测试网 https://www.ltesting.net/