日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
函數(shù)式編程的第二春?揭秘其再次崛起的背后原因

 托馬斯.庫爾提出“科學(xué)的革命”的范式論后,Robert Floyd在1979年圖靈獎的頒獎演說中使用了編程范式一詞。

創(chuàng)新互聯(lián)從2013年成立,先為江北等服務(wù)建站,江北等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為江北企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

編程范式,簡單來說,就是編寫命令的方法。

眾所周知,一門語言的思想建立在其編程范式之上。很知名的三種范式分別是面向?qū)ο缶幊?、指令式編程和函?shù)式編程。它們并沒有優(yōu)劣之分,重要的是使用正確的工具來完成工作。

其中,函數(shù)式編程是大多數(shù)軟件工程師不太熟悉的一個概念。

函數(shù)式編程是種編程方式,它將電腦運算視為函數(shù)的計算。函數(shù)編程語言很重要的基礎(chǔ)是λ演算(lambda calculus),而且λ演算的函數(shù)可以接受函數(shù)當(dāng)作輸入(參數(shù))和輸出(返回值)。

和指令式編程相比,函數(shù)式編程強調(diào)函數(shù)的計算比指令的執(zhí)行重要。

和過程化編程相比,函數(shù)式編程里函數(shù)的計算可隨時調(diào)用。

曾用于編寫計算機程序的第二種編程語言Lisp實際上屬于函數(shù)式范式。函數(shù)式編程通過簡化編程定義,優(yōu)先考慮數(shù)據(jù)的不變性和數(shù)學(xué)計算,而不是像傳統(tǒng)編程去修改存儲在類構(gòu)造函數(shù)中的對象。在現(xiàn)代函數(shù)式編程中,這種想法有點狹隘,但未必是壞事。函數(shù)式語言的可變性給函數(shù)式編程帶來很多功能,可以說函數(shù)式編程非常實用。

考慮到這一點,函數(shù)式編程并不局限于函數(shù)式語言,如Python具有函數(shù)性特征。雖然函數(shù)式編程與傳統(tǒng)編程極其不同,但是似乎函數(shù)式和面對對象范式與用于數(shù)據(jù)科學(xué)的大多數(shù)語言比較接近。

適合我們的工作

大多數(shù)函數(shù)式語言的標(biāo)題都有“統(tǒng)計”字樣。這很便利,因為數(shù)據(jù)科學(xué)家很像統(tǒng)計學(xué)家,只是多了編程和機器學(xué)習(xí)技能。函數(shù)式語言通常更快,且更易于數(shù)據(jù)科學(xué)家使用。 相信我,你不會想快速瀏覽C代碼,因為這樣準(zhǔn)確性有點低。大多數(shù)函數(shù)式語言完全可讀,且十分容易編寫和掌握。函數(shù)式編程是互聯(lián)網(wǎng)上最古老的大數(shù)據(jù)流水線的基礎(chǔ),一些人對此可能十分驚訝。隨著機器學(xué)習(xí)和數(shù)據(jù)計算的發(fā)展,函數(shù)式編程逐漸流行起來。

很酷的語言

有很多很酷的統(tǒng)計語言,其中很多語言將自有特征與其他傳統(tǒng)特征相互交織,融合在一起。我特別鐘愛以下函數(shù)式編程語言。

R語言

R語言是我們的老朋友了。

R語言是一門傳統(tǒng)的函數(shù)式語言,但像其它大多數(shù)語言一樣,它是(或已經(jīng)成為)多范式的,即可以從每個特定編程范式中挑選自己喜歡的范式。這給予R語言可變性的優(yōu)點。R語言起源于S語言且一直專注于統(tǒng)計計算。

Julia

Julia一直是我很喜愛的編程語言。

它雖然是函數(shù)式的,但確實包含一些可變的、類似于面對對象的屬性,使得編程更加方便。作為一門高級語言,Julia非常迅速。它很容易進(jìn)行類型聲明,當(dāng)聲明合適時可以像C語言一樣迅速,同時比R語言和Scala更具可讀性。

通常,使用Julia的好處之一是它不會占用過長時間來建立模型并進(jìn)行訓(xùn)練,因為語言簡單,機器學(xué)習(xí)(ML)也很迅速。某些情況下,如在我的ML包Lathe中,只需很少的代碼行就能完成機器學(xué)習(xí),而且可以通過使用參數(shù)動態(tài)性更容易地修改構(gòu)造函數(shù)的屬性。

Haskell

Haskell完全不同于以上所提及的多范式語言,它以純粹的函數(shù)性聞名。

我從未使用過Haskell,因此不能代表它,但據(jù)我所知,Haskell確實是一門很酷的語言。我對Haskell的了解很局限。如上所述,大多數(shù)現(xiàn)代語言是多范式的,使得它們可以在不創(chuàng)建新代碼庫的同時有效修復(fù)漏洞。

Lisp

雖然Lisp在數(shù)據(jù)科學(xué)領(lǐng)域不一定聞名,但它仍是一門很酷的語言。

Lisp和Julia一樣可使編程十分方便簡單。一個非常值得注意的屬性是Lisp和Julia的宏。宏本身是一個主要的函數(shù)式特征,如果使用恰當(dāng),可使在notebook中編程更容易。需要注意,Lisp已經(jīng)將自己分為了一組包括scheme、Clojure和(通用)Lisp在內(nèi)的語言集。作為第二高級語言,很難探索或估計它及其功能的影響,但影響范圍肯定相當(dāng)大。

筆者對于Julia的喜愛想必不言而喻了,此前也出過相關(guān)文章專門介紹Julia,雖然有時候Python的構(gòu)造函數(shù)(類)可能更適合于特定的工作,但就整體而言,Julia也能完成工作,且對我而言更加流暢高效。

對于另一些人來說,函數(shù)式語言可能無法完成他們的目標(biāo),對于一直使用面對對象語言的人來說也比較難以學(xué)習(xí)。

歸根結(jié)底,編程語言是一項選擇,大多數(shù)編程語言都有開發(fā)者,也有其優(yōu)點和缺點,所以并沒有什么好壞高低之分,就看你個人的編程習(xí)慣和喜好啦!


網(wǎng)頁題目:函數(shù)式編程的第二春?揭秘其再次崛起的背后原因
本文來源:http://www.dlmjj.cn/article/cociejo.html