admin 管理员组

文章数量: 887032

F#

F#

目录
历史
定位
展望
掌握
代码示例

 

F#是由 微软发展的为微软 .NET语言提供运行环境的程序设计语言。它是基于 Ocaml的,而Ocaml是基于 ML 函数程序设计语言的。
  这是一个用于显示.NET在不同 编程语言间互通的程序设计。

历史

  F#自2002年开始研发,2005年发布了第一个版本,2007年底正式从研发专案转移至产品部门,并决定将F#置入Visual Studio.NET 2010。截止目前(2009年1月6日现在),最新的F#预览版为F# September 2008 CTP,版本号为1.9.6.2。

定位

  微软计划将慢慢整合F#至.NET平台并使F#最终成为.NET平台的顶峰语言。
  众所周知,F#是一种函数型程序设计(FP,Functional Programming)语言。然而F#对IP(Imperative Programming)与OOP(Object Oriented Programming)的支持几乎一样的出色。
  F#也许终将成为程序核心部分设计的首选,而C#与VB等将在用户界面交互设计方面继续发挥其强大的潜力。

展望

  以目前来看,随著FP在程序设计中的重要性日渐凸显,F#身为微软唯一的FP语言,其位置特殊,容易引起关注。
  对一部分人来说,这语言所带来的一些特性以及其对FP的特性的全面支持(而且做得都比较好,至少目前是这样),可能会带来一次大的革变。

掌握

  目前学习F#的资料并不丰富,而且其文档淩乱琐碎。比较优秀的书籍是(目前似乎是唯一)2005年8月由Apress出版的《Expert F#》,由Syme, Don/ Granicz, Adam/ Cisternino, Antonio合著。
  可以通过查阅MSDN得到一些零散的入门类文档。

代码示例

  F# Hello Word 程序
   (* This is commented *)
   (* Sample hello world program *)
  printfn "Hello World!"
  F# Winforms 程序
  #light
   (* Sample Windows Forms Program *)
   (* We need to open the Windows Forms library *)
   open System.Windows.Forms
   (* Create a window and set a few properties *)
   let form = new Form(Visible= true, TopMost= true, Text="Welcome to F#")
   (* Create a label to show some text in the form *)
   let label =
   let temp = new Label()
   let x = 3 + (4 * 5)
   (* Set the value of the Text*)
  temp.Text <- sprintf "x = %d" x
   (* Remember to return a value! *)
  temp
   (* Add the label to the form *)
   do form.Controls.Add(label)
   (* Finally, run the form *)
  [<STAThread>]
   do Application.Run(form)

本文标签: F