新聞中心
F#是一個基于.NET框架的多模式編程語言、是一種.NET平臺上的函數(shù)式編程語言、更是一個高效的.NET程序語言.就像C#和VB.NET,F(xiàn)#可以利用.NET的核心類庫,如WPF,WCF,VSTO等等,通過F#您甚至可以使用XNA編寫XBox游戲.僅僅如此并不意味著您應該去學習它.那為何要使用F#呢?

成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、潯陽網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、HTML5建站、商城網(wǎng)站制作、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為潯陽等各大城市提供網(wǎng)站開發(fā)制作服務。
作為一種函數(shù)式編程語言,F(xiàn)#使得某些領域的編程要比命令式編程(如使用C#)更為容易.并行編程(Parallel Programming)和面向語言編程(Language-Oriented Programming)是其中的兩個領域.
F#語言交互式設計窗口
如果您曾經(jīng)編寫過.NET應用程序,并感覺自己在努力使用手頭的語言表達自己的想法,也許F#就是您在尋找的.F#主要是由Microsoft Research 和 Visual Studio 小組協(xié)作開發(fā)的,并采納了F#社區(qū)和一些主要使用者的意見.F#為Visual Studio 2010帶來了很大的改觀.
因為替代了局部程序中的元組使工作變的簡單了.在異步編程和強類型對于浮點編碼方面也提供的不錯的解決方式.可以說F# 是Visual Studio 2010中結(jié)合了眾多優(yōu)點的編程語言.
F#的優(yōu)勢
在F#中函數(shù)可以被視為值,可以傳遞給其他函數(shù),你可以方便地編寫高階函數(shù);
F#支持組合式編程,你可以通過使用簡單的操作符語法來組合函數(shù);
F#提供了支持函數(shù)式編程風格的類型,如針對簡單數(shù)據(jù)集合的元組和針對結(jié)構(gòu)化符號數(shù)據(jù)的discriminated unions;
F#提供了許多不可變的數(shù)據(jù)結(jié)構(gòu),如不可變的列表、映射、集合、序列和記錄等;F#支持異步編程,并且提供了使這種編程比以往更容易的結(jié)構(gòu);
Visual F#中還包括了一個F#解釋器,F(xiàn)#互動器(fsi.exe),它能夠以交互方式編譯并執(zhí)行代碼;F#支持延遲計算,這可以使您直到需要結(jié)果時才進行計算;
F#支持面向?qū)ο笳Z言特征,除了讓您使用F#語言開發(fā).NET框架API外,這種特征可以使F#程序能夠充分地訪問.NET框架.
當然除此以外,F(xiàn)#還支持如面向?qū)ο笳Z言特征,支持命令式編程結(jié)構(gòu),支持數(shù)學計算等特性.在VS2010中F#除了特征廣泛外,它的特點還包括比如說簡單簡潔的句法、并行和異步的編程.
F#簡單簡潔的句法:
F#像C#一樣,是一種強制型的語言.但是我也可以使用類似在Python中那樣的方式.既輕量級的,靈活的,數(shù)學類的編程方式.
- let data = (1,2,3)
- let rotations (x, y, z) =
- [ (x, y, z);
- (z, x, y);
- (y, z, x) ]
- let derivative f x =
- let p1 = f (x - 0.05)
- let p2 = f (x + 0.05)
- (p2 - p1) / 0.1
- let f x = 2.0*x*x - 6.0*x + 3.0
- let df = derivative f
- System.Console.WriteLine("The derivative of f at x=4 is {0}", df 4.0)
其運行結(jié)果為:“The derivative of f at x=4 is 10”.
在并行和異步編程上,.NET Framework 4 和Visual Studio 2010中,包含了一個關(guān)于并行程序開發(fā)的龐大文檔和工具庫.F#提供了一種強健的編程模式和靈活優(yōu)秀的功能,使這些顯現(xiàn)的更為直觀.最為重要的是,我們可以在過去習慣了的線性編程模式下進行異步編程.
- let http url =
- async { let req = WebRequest.Create(Uri url)
- let! resp = req.AsyncGetResponse()
- let stream = resp.GetResponseStream()
- let reader = new StreamReader(stream)
- let! contents = reader.AsyncReadToEnd()
- return contents }
- let sites = ["h ttp://bing.com"; "h ttp://microsoft.com";"h ttp://msdn.com"; "ht tp://msnbc.com"]
- let htmlOfSites =
- Async.Parallel [for site in sites -> http(site)]
- |> Async.RunSynchronously
以上就是Visual Studio 2010中F#語言簡單介紹,在使用過程中肯定會有更多的體驗.
隨著FP在程序設計中的重要性日漸凸顯,F(xiàn)#身為微軟***的FP語言,其位置特殊,容易引起關(guān)注。對一部分人來說,這語言所帶來的一些特性以及其對FP的特性的全面支持(而且做得都比較好,至少目前是這樣),可能會帶來一次大的革變。
分享名稱:淺談函數(shù)式編程語言F#
標題路徑:http://m.5511xx.com/article/dpscsjd.html


咨詢
建站咨詢
