Chinaunix首页 | 论坛 | 博客
  • 博客访问: 212868
  • 博文数量: 67
  • 博客积分: 3156
  • 博客等级: 中校
  • 技术积分: 650
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-18 17:41
个人简介

软件工程师!

文章分类

全部博文(67)

文章存档

2015年(1)

2014年(1)

2012年(6)

2011年(16)

2010年(31)

2009年(12)

分类: 项目管理

2010-01-06 11:09:56

F#语言的简述

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

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


F#安装

F#的下载 , 有两种版本, 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 平台上的函数式编程。演示一个 imperative function 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 

(~rjmh/Papers/whyfp.html) 

Ralf Herbrich, Microsoft Research 

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

阅读(826) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~