软件工程师!
分类: 项目管理
2010-01-06 11:09:56
F#是 Microsoft 推出来的函数式编程语言 , 与现在流行的函数式的编程语言相比 (OCaml,Haskell,Lisp, 和 Scheme),F# 语言也提供了更多的选择,可以用 F# 函数式程序,也可以写强制式的,或面向对象等编程范式的程序。更让人着迷的一点, F# 可以与 DOTNET 的基础类库无缝地结合在一起。函数式编程的应用程序。
F#的语言是基于面向对象的函数式语言 OCaml 开发的, F# 之父是微软英国剑桥研究院 (Microsoft Research, Cambrige) 的 Don Syme 博士。
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#的程序时会出现以下错误:
体验DotNet 平台上的函数式编程。演示一个 imperative 和 function programming 的 F# 实现 !
编译 fsc sample1.fs (注意,后缀名以fs结尾),则会生成一个sample.exe的程序
看看利用函数式编程实现的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)