代码改变世界

F#: .NET中的函数编程语言

2008-05-23 18:05  Zhuang miao  阅读(1268)  评论(1编辑  收藏  举报

近几年来,函数编程(Functional programming)越来越受到关注,诸如C#中的Lambda表达式、LINQ技术就是基于函数编程技术。通过LINQ和并行计算框架 (Parallel FX),函数编程的思想能够解决我们当今面临的许多计算挑战,从关系数据与对象的不统一到多核的并行计算。

F#(F-Sharp)就是一种函数编程语言,它由微软研究院发起,它基于ML语言,同时也吸取了C#、LINQ以及Haskell中的部分特性。F#被 设计为.NET语言家族中的一等公民,也就是说,F#能在.NET CLR中运行,支持面向对象,同时它的许多特性也保证了与.NET框架的良好集成。

F#有如下几个特点:

  • 类似Python的脚本命令行
  • 可以用于类似MATLAB的互动数据可视化环境
  • ML语言中的强类型推导和类型安全
  • 与流行的OCaml语言共享的交叉编译兼容核心
  • 和C#类似的性能评测技术
  • 可以应用所有的.NET类库、数据库及其他技术
  • 和Scheme语言类似的Lambda特性
  • 完全的Visual Studio工具整合
  • 一流的编程语言专家参与的高质量程序实现
  • 在并发编程、以及可移植和分布式.NET框架中的原生执行速度

使用Visual Studio结合F#,不仅有基本的代码着色、语法提示,甚至还能进行Windows Form与ASP.NET开发,强大的类型推导与模式匹配让你编写算法更加得心应手。而你依然可以在其他语言(如C#、VB.NET)编写的项目中应用 F#编译出的程序集。

开始学习F#及函数编程技术

本地下载F# 安装包
初学者指南
F#语言手册
hubFS: F#交流区
F#微软研究院站点
Don Syme的F# Blog