【F#2.0系列】概述
什么是F#
基于.Net Framework运行的强类型函数式编程语言(typed functional programming language)
F#的特点
拥抱规则(imperative)与面向对象编程。
同时拥有动态语言(dynamic language)的编程风格与编译语言(compiled language)的健壮性。在强调函数式编程的同时,使用最简洁高效的方式结合这两者的优点。
F#的起源
始于2002年,Don Syme和其在Microsoft Research的同事决定设计一种实用性的,基于.Net Platform的高质量的语言表达形式。该项目与.Net CLR(common language runtime)关系密切。
第一个稳定的,获支持的版本为F# 2.0, Visual Studio 2010所提供的正是这一版本。
在某种意义上来说,F#可以被看作是OCamel for .Net,源自于ML语言家族。F#也引入了Haskell语言 的两个重要特性:顺序表达式(sequence expression)和工作流(workflows)。但这并不意味着它们的编程方式相同,相反的,使用F#编程与上述两种语言差别巨大。这是由其特点决定的,F#拥有很多.NET特性如动态加载(dynamic loading),动态类型(dynamic typing)和反射。并且引入了新的特性例如表达式引用(Expression quotation) 和主动匹配 (active patterns) 。
F#拥有与C++,Visual Basic和十分流行的C#。F#围绕着ECMA CLI (Common Language Infrastructure) 实现,可以支持Microsoft .Net Framework, Mono及Silverlight的开发。