日韩无码专区无码一级三级片|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)銷解決方案
為什么大家都覺(jué)得函數(shù)式編程將會(huì)流行?

【精選譯文】這幾年來(lái),函數(shù)式編程似乎忽然紅火了起來(lái),但事實(shí)上,函數(shù)式編程卻是個(gè)已經(jīng)存在了四十余年但長(zhǎng)期只活躍于學(xué)術(shù)領(lǐng)域而非商業(yè)開(kāi)發(fā)領(lǐng)域的一個(gè)編程方式。那么,為什么大家會(huì)認(rèn)為函數(shù)式編程將流行?有一位從事電子商務(wù)Web應(yīng)用開(kāi)發(fā)的程序員在stackoverflow上提出了自己的疑問(wèn),而這個(gè)疑問(wèn)也普遍存在于很多程序員的腦中。讓我們先看看這位程序員是怎樣說(shuō)的:

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出元江縣免費(fèi)做網(wǎng)站回饋大家。

編輯推薦:Scala編程語(yǔ)言專題

jjnguy:

不管什么時(shí)候去 stackoverflow 或 reddit 這樣的網(wǎng)站,總會(huì)遇到一群 Haskell / Scala / F# 語(yǔ)言的粉絲,頑固地堅(jiān)持函數(shù)式編程將是下一個(gè)“大事件”。不可否認(rèn),有一些問(wèn)題的確適合使用函數(shù)式編程的方式來(lái)解決,但是我過(guò)往的經(jīng)驗(yàn)告訴我:

◆普通的公司程序員,比如和我一起工作的大多數(shù)同事,并不懂函數(shù)式編程,并且多數(shù)工作環(huán)境也不會(huì)讓你使用它來(lái)編程。

◆實(shí)際上,大學(xué)不教函數(shù)式編程這門課(或者現(xiàn)在大學(xué)有這門課?)

◆大多數(shù)應(yīng)用程序足夠簡(jiǎn)單,使用普通的面向?qū)ο蠓绞骄涂梢越鉀Q。

函數(shù)式編程真的有必要嗎?或者只不過(guò)是一個(gè)很酷的玩具?我不是想要貶低它,我只是真的不確定:如果在我的日常工作(編寫電子商務(wù) web 應(yīng)用程序)中使用函數(shù)式編程的幾率接近零,我是否還應(yīng)該去學(xué)習(xí)這種編程?
 

而對(duì)函數(shù)式編程充滿信心的程序員們往往不會(huì)默默認(rèn)同這樣的觀點(diǎn),而他們大多數(shù)也不是第一次遇到這樣的疑問(wèn)。編者選取了以下幾個(gè)比較有代表性的回答進(jìn)行了編譯:

#t#joel.neely:

我覺(jué)得,對(duì)于函數(shù)式編程會(huì)流行這一話題沒(méi)有任何疑問(wèn),因?yàn)樽鳛橐环N編程方式,它都用了大約四十年了。面向?qū)ο蟮某绦騿T,每當(dāng)為了編寫干凈簡(jiǎn)潔的代碼而使用了不可變對(duì)象時(shí)(immutable object),這都是借用了函數(shù)式編程的概念。

不過(guò),強(qiáng)制性的函數(shù)式編程語(yǔ)言最近這些日子里的確獲得了很多文章的關(guān)注,而這些語(yǔ)言是否將主宰未來(lái)的編程語(yǔ)言還是一個(gè)懸而未決的問(wèn)題。我自己的推測(cè)是,那種混合型、多范式的語(yǔ)言,比如 Scala 或 OCaml ,很可能會(huì)超過(guò)那些“純正的”函數(shù)式語(yǔ)言,正如純正的面向?qū)ο笳Z(yǔ)言(Smalltalk、Beta 等):他們影響了主流編程但并未最終成為使用最多的語(yǔ)言。

最后,我要實(shí)在忍無(wú)可忍地指出,你那些有關(guān)函數(shù)式編程的評(píng)論和不久前我從過(guò)程式編程程序員聽(tīng)到的論述高度相似:

◆“傳說(shuō)中的”“普通”程序員不懂它。

◆沒(méi)有大范圍內(nèi)教授這種語(yǔ)言。

◆用它編寫的任何程序都可以使用當(dāng)前的技術(shù)完成。

圖像用戶界面和“作為商業(yè)模型的代碼”這些概念讓面向?qū)ο笫艿礁嗪迷u(píng),同樣,我相信對(duì)不可變性的使用逐步增加以及更為簡(jiǎn)單的(大規(guī)模)并行操作將讓更多程序員看到函數(shù)式編程所具有的優(yōu)點(diǎn)。雖然在過(guò)去 50 年左右的時(shí)間里(這個(gè)時(shí)間構(gòu)成了數(shù)字化計(jì)算機(jī)編程的整個(gè)歷史)我們經(jīng)歷了很多,但我認(rèn)為仍然有很多東西需要學(xué)習(xí)。

從今日起,二十年后,程序員回頭再看,看到我們當(dāng)下所用的那些工具是如此原始,其中包括現(xiàn)在流行的面向?qū)ο蠛秃瘮?shù)式編程語(yǔ)言,他們將會(huì)大吃一驚。 

Greg Hewgill:

對(duì)我來(lái)說(shuō),主要的加分處在于它固有的并行操作性,尤其是現(xiàn)在更高頻率的CPU正在轉(zhuǎn)變?yōu)楦鄡?nèi)核。

我認(rèn)為,函數(shù)式編程不會(huì)成為下一個(gè)編程范式并完全替代面向?qū)ο箢愋偷姆绞?。但我的確認(rèn)為,如下說(shuō)法非常正點(diǎn):我們或者需要使用函數(shù)式語(yǔ)言編寫某些代碼,或者那些通用的語(yǔ)言將逐漸包含更多函數(shù)式構(gòu)造。 

stbuton:

即使你在工作中從不會(huì)用到函數(shù)式語(yǔ)言,理解函數(shù)式編程將能夠讓你成為一個(gè)更優(yōu)秀的開(kāi)發(fā)人員??偟膩?lái)講,對(duì)于代碼和編程,它將給予你一個(gè)新的視角。

讓我說(shuō),沒(méi)有理由不去學(xué)它。

我認(rèn)為,那些能夠?qū)⒑瘮?shù)式和命令式這兩種風(fēng)格很好地混合在一起的語(yǔ)言將是最有趣的,并且最可能獲得成功。 

Norman Ramsey:

我可以告訴你人們?yōu)槭裁匆蚝瘮?shù)式編程而興奮:很多很多程序員在使用函數(shù)式編程時(shí)都有一種“信仰改變”的體驗(yàn):生產(chǎn)力提升了一倍(或者十倍),而產(chǎn)出的代碼更加容易改寫,bug也更加的少。這些人把函數(shù)式編程看作是秘密武器。一個(gè)很好的例子是Paul Graham的《Beating the Averages》(擊敗平均值)。而你知道他的應(yīng)用是什么?電子商務(wù)Web應(yīng)用。

========

我們來(lái)總結(jié)一下上面這些答案。綜上所述,函數(shù)式編程的優(yōu)勢(shì)主要針對(duì)兩點(diǎn):

1. 不可變性(immutability)

2. 并行操作性(parallelism)

這兩個(gè)概念其實(shí)與編程范式或編程語(yǔ)言無(wú)關(guān)。比如,Java也有不可變對(duì)象,只是需要通過(guò)自己編寫實(shí)現(xiàn)方法來(lái)實(shí)現(xiàn);而并行編程,近日在TechED大會(huì)上頻頻露臉的Visual Studio 2010就以并行編程為一大亮點(diǎn)。對(duì)于函數(shù)式編程在這兩個(gè)方面的優(yōu)勢(shì),我們有現(xiàn)成的論據(jù)可以引用。先看看這篇Scala語(yǔ)言的簡(jiǎn)介(這篇文章來(lái)自《Scala編程》一書,而這本書的聯(lián)合作者之一就是Scala創(chuàng)始人)。文中有這樣的一句話:“不可變數(shù)據(jù)結(jié)構(gòu)是函數(shù)式語(yǔ)言的一塊基石?!倍@篇《哪種語(yǔ)言將統(tǒng)治多核時(shí)代 再看函數(shù)式語(yǔ)言特性》一文中,則十分詳細(xì)的描述了函數(shù)式語(yǔ)言天生的并行操作性:“函數(shù)式語(yǔ)言已經(jīng)在簡(jiǎn)化并行開(kāi)發(fā)中證明了它的作用, 這得益于它既不用共享內(nèi)存,也不會(huì)產(chǎn)生副作用(side effect)的函數(shù)?!笨梢哉f(shuō),函數(shù)式編程在這兩個(gè)方面上的優(yōu)勢(shì)是毫無(wú)疑問(wèn)的。

事實(shí)上,這兩個(gè)優(yōu)勢(shì)是同進(jìn)同退的,因?yàn)榱己玫牟豢勺冃缘氖褂貌拍艽_保不會(huì)成為并行操作時(shí)性能的瓶頸。而這個(gè)優(yōu)勢(shì)的重要性,前面的答案中已經(jīng)很明顯的給出來(lái)了:如今的CPU在增高頻率上已經(jīng)遇到了瓶頸,多核CPU成為趨勢(shì),因此能夠充分發(fā)揮多核性能的應(yīng)用程序?qū)⒃絹?lái)越重要。

技術(shù)領(lǐng)域的改變是極快的,因此,“大多數(shù)程序員不了解它”或者“沒(méi)有大范圍教授這種語(yǔ)言”都是十分無(wú)力的論證(比如說(shuō),OO編程并非從一開(kāi)始就流行)。種種發(fā)展趨勢(shì)都指向了函數(shù)式編程,而那些在編程范式上“兼容”的多范式編程(如Scala語(yǔ)言同時(shí)支持函數(shù)式和命令式的風(fēng)格,雖然它的使用者很可能最終會(huì)傾心于函數(shù)式)將必然會(huì)流行。

編者一直在推薦Scala編程語(yǔ)言,因?yàn)檫@個(gè)基于JVM的多范式編程語(yǔ)言無(wú)論怎么看都有很好的發(fā)展前景。如果你有Java開(kāi)發(fā)的經(jīng)驗(yàn),那么的Scala編程語(yǔ)言專題中收集的一系列針對(duì)Java程序員的教程文章相信一定會(huì)對(duì)你有所助益。

做為程序員,沒(méi)有理由不去學(xué)習(xí)任何一門編程相關(guān)的技術(shù),更不用說(shuō)那些很可能會(huì)影響到自己未來(lái)幾年飯碗的技術(shù)。編者一直相信對(duì)于一位程序員,沒(méi)有“與我無(wú)關(guān)的語(yǔ)言”或者“與我無(wú)關(guān)的編程方法”,因?yàn)榫幊逃兄餐ǖ恼軐W(xué)。沒(méi)有哪個(gè)優(yōu)秀的程序員會(huì)自稱“Java程序員”,“.NET程序員”,“PHP程序員”。他們的唯一稱呼就是“程序員”。因此,如果你還沒(méi)有開(kāi)始學(xué)習(xí)函數(shù)式編程,那么現(xiàn)在就開(kāi)始吧。


分享文章:為什么大家都覺(jué)得函數(shù)式編程將會(huì)流行?
分享路徑:http://m.5511xx.com/article/cojhdgi.html