日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
淺談函數(shù)式編程語(yǔ)言F#

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

成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、潯陽(yáng)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為潯陽(yáng)等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

作為一種函數(shù)式編程語(yǔ)言,F(xiàn)#使得某些領(lǐng)域的編程要比命令式編程(如使用C#)更為容易.并行編程(Parallel Programming)和面向語(yǔ)言編程(Language-Oriented Programming)是其中的兩個(gè)領(lǐng)域.

F#語(yǔ)言交互式設(shè)計(jì)窗口

如果您曾經(jīng)編寫(xiě)過(guò).NET應(yīng)用程序,并感覺(jué)自己在努力使用手頭的語(yǔ)言表達(dá)自己的想法,也許F#就是您在尋找的.F#主要是由Microsoft Research 和 Visual Studio 小組協(xié)作開(kāi)發(fā)的,并采納了F#社區(qū)和一些主要使用者的意見(jiàn).F#為Visual Studio 2010帶來(lái)了很大的改觀.

因?yàn)樘娲司植砍绦蛑械脑M使工作變的簡(jiǎn)單了.在異步編程和強(qiáng)類型對(duì)于浮點(diǎn)編碼方面也提供的不錯(cuò)的解決方式.可以說(shuō)F# 是Visual Studio 2010中結(jié)合了眾多優(yōu)點(diǎn)的編程語(yǔ)言.

F#的優(yōu)勢(shì)

在F#中函數(shù)可以被視為值,可以傳遞給其他函數(shù),你可以方便地編寫(xiě)高階函數(shù);

F#支持組合式編程,你可以通過(guò)使用簡(jiǎn)單的操作符語(yǔ)法來(lái)組合函數(shù);

F#提供了支持函數(shù)式編程風(fēng)格的類型,如針對(duì)簡(jiǎn)單數(shù)據(jù)集合的元組和針對(duì)結(jié)構(gòu)化符號(hào)數(shù)據(jù)的discriminated unions;

F#提供了許多不可變的數(shù)據(jù)結(jié)構(gòu),如不可變的列表、映射、集合、序列和記錄等;F#支持異步編程,并且提供了使這種編程比以往更容易的結(jié)構(gòu);

Visual F#中還包括了一個(gè)F#解釋器,F(xiàn)#互動(dòng)器(fsi.exe),它能夠以交互方式編譯并執(zhí)行代碼;F#支持延遲計(jì)算,這可以使您直到需要結(jié)果時(shí)才進(jìn)行計(jì)算;

F#支持面向?qū)ο笳Z(yǔ)言特征,除了讓您使用F#語(yǔ)言開(kāi)發(fā).NET框架API外,這種特征可以使F#程序能夠充分地訪問(wèn).NET框架.

當(dāng)然除此以外,F(xiàn)#還支持如面向?qū)ο笳Z(yǔ)言特征,支持命令式編程結(jié)構(gòu),支持?jǐn)?shù)學(xué)計(jì)算等特性.在VS2010中F#除了特征廣泛外,它的特點(diǎn)還包括比如說(shuō)簡(jiǎn)單簡(jiǎn)潔的句法、并行和異步的編程.

F#簡(jiǎn)單簡(jiǎn)潔的句法:

F#像C#一樣,是一種強(qiáng)制型的語(yǔ)言.但是我也可以使用類似在Python中那樣的方式.既輕量級(jí)的,靈活的,數(shù)學(xué)類的編程方式.

 
 
 
  1. let data = (1,2,3)
  2. let rotations (x, y, z) =
  3. [ (x, y, z);
  4. (z, x, y);
  5. (y, z, x) ]
  6. let derivative f x =
  7. let p1 = f (x - 0.05)
  8. let p2 = f (x + 0.05)
  9. (p2 - p1) / 0.1
  10. let f x = 2.0*x*x - 6.0*x + 3.0
  11. let df = derivative f
  12. System.Console.WriteLine("The derivative of f at x=4 is {0}", df 4.0)

其運(yùn)行結(jié)果為:“The derivative of f at x=4 is 10”.

在并行和異步編程上,.NET Framework 4 和Visual Studio 2010中,包含了一個(gè)關(guān)于并行程序開(kāi)發(fā)的龐大文檔和工具庫(kù).F#提供了一種強(qiáng)健的編程模式和靈活優(yōu)秀的功能,使這些顯現(xiàn)的更為直觀.最為重要的是,我們可以在過(guò)去習(xí)慣了的線性編程模式下進(jìn)行異步編程.

 
 
 
  1. let http url =
  2. async { let req = WebRequest.Create(Uri url)
  3. let! resp = req.AsyncGetResponse()
  4. let stream = resp.GetResponseStream()
  5. let reader = new StreamReader(stream)
  6. let! contents = reader.AsyncReadToEnd()
  7. return contents }
  8. let sites = ["h ttp://bing.com"; "h ttp://microsoft.com";"h ttp://msdn.com"; "ht tp://msnbc.com"]
  9. let htmlOfSites =
  10. Async.Parallel [for site in sites -> http(site)]
  11. |> Async.RunSynchronously

以上就是Visual Studio 2010中F#語(yǔ)言簡(jiǎn)單介紹,在使用過(guò)程中肯定會(huì)有更多的體驗(yàn).

隨著FP在程序設(shè)計(jì)中的重要性日漸凸顯,F(xiàn)#身為微軟***的FP語(yǔ)言,其位置特殊,容易引起關(guān)注。對(duì)一部分人來(lái)說(shuō),這語(yǔ)言所帶來(lái)的一些特性以及其對(duì)FP的特性的全面支持(而且做得都比較好,至少目前是這樣),可能會(huì)帶來(lái)一次大的革變。


名稱欄目:淺談函數(shù)式編程語(yǔ)言F#
分享URL:http://www.5511xx.com/article/dpscsjd.html