体验Microsoft的函数式编程语言F#

来源:互联网 发布:js data toggle 编辑:程序博客网 时间:2024/06/05 16:53

F#语言的简述

F#Microsoft推出来的函数式编程语言,与现在流行的函数式的编程语言相比(OCaml,Haskell,Lisp,Scheme),F#语言也提供了更多的选择,可以用F#函数式程序,也可以写强制式的,或面向对象等编程范式的程序。更让人着迷的一点,F#可以与DOTNET的基础类库无缝地结合在一起。函数式编程的应用程序。

    F#的语言是基于面向对象的函数式语言OCaml开发的,F#之父是微软英国剑桥研究院(Microsoft  Research, Cambrige)Don Syme 博士。


F#安装

F#的下载,http://research.microsoft.com/fsharp/release.aspx,有两种版本,msi安装版和社区技术体验版(CTP),如果想与Visual Studio集成开发,则可以使用msi安装版,如果使用社会技术体验版,只需解压就可以使用了,我使用的是CTP(version 1.9.6.2)

操作系统需要安装dotnet framework 2.0以上版本。

使用CTP版本的注意问题,需要用Visual Studio提供的一个gacutil小工具将%FSharp-1.9.7.8%/bin目录下的三个动态库加入到系统的assembly(程序集中),命令如下

gacutil -i FSharp.Core.dll

gacutil -i FSharp.Compiler.dll

Gacutil -i FSharp.PowerPack.Dll

如果不将这三个库加入到程序集中,运行F#的程序时会出现以下错误:



F#的第一个程序

    体验DotNet平台上的函数式编程。演示一个imperativefunction programming F#实现!

 

 

编译 fsc sample1.fs (注意,后缀名以fs结尾),则会生成一个sample.exe的程序


F#的第二个程序

 

   看看利用函数式编程实现的WinForm

 

    

 

  

   运行结果

  

结语

 

2007.10 正式成为MS团队开发的产品

2008.09 发布社区技术交流预览版,官方测试版

2008.12 MS正式宣布 F#成为VS2010的核心语言之一,C++,C#,VB同等地位。

 

可以看出,两年的时间,就把F#作为微软的技术推崇重点,微软对F#Windows的地位重视由此可见。

不过,学习F#应用,把函数式编程带到现实生活中,不应该把函数式编程放在服务器或科学计算领域。


参考资料


John Hughes, Chalmers University of Technology 

(http://www.math.chalmers.se/~rjmh/Papers/whyfp.html) 

Ralf Herbrich, Microsoft Research 

(http://blogs.msdn.com/dsyme/archive/2006/04/01/566301.aspx)

原创粉丝点击