函數(shù)式反應(yīng)型編程的理念

2018-08-01 11:16 更新

  看到理念這一章很多人就會(huì)覺得有點(diǎn)反感,感覺被騙了,因?yàn)榇蜷_這本書就是來學(xué)函數(shù)式反應(yīng)型編程的?。「魑簧园参鹪?,會(huì)使用這本書的朋友都是些想要采取更好的方式進(jìn)行編程的。既然如此,我們當(dāng)然得知道為什么會(huì)有這種想法了。

  對(duì)于程序員來說,過于冗長的代碼肯定是不被接受的,所以程序員喜歡改進(jìn),喜歡提高技能來用更少的代碼完成更多的任務(wù)。達(dá)到這種目的其實(shí)是很簡單的,使用函數(shù)式反應(yīng)型編程就可以了,值得注意的是,要使用函數(shù)式反應(yīng)型編程就必須將自己原先的使用習(xí)慣先暫時(shí)放到一邊。

  所有的程序都是為了完成某些任務(wù)。大多數(shù)程序員所受的訓(xùn)練都是命令式編程。這種模式依賴于他們希望自己的程序如何來完成這些任務(wù):開發(fā)者編寫很多的指令來修正程序的狀態(tài);如果開發(fā)者在正確的位置上編寫了正確的指令,那么程序?qū)?huì)正確地完成任務(wù)。

  為什么編程時(shí)我們思考問題的方式都停留在“怎么做”這個(gè)點(diǎn)上? 因?yàn)橛?jì)算機(jī)實(shí)際上是以一條條命令來工作的,CPU的程序計(jì)算器盡職盡責(zé),按部就班:讀取(怎么做的指令)---> 執(zhí)行--->讀取--->執(zhí)行。。。所以理所當(dāng)然的,我們只要告訴他們“怎么做”就好了(即命令式編程)。。。多么無聊啊。

  與此相反,聲明式編程(DeclarativeProgramming)將程序員們從紛繁復(fù)雜的對(duì)如何完成某些任務(wù)的細(xì)枝末節(jié)的流程中解放出來,將關(guān)注點(diǎn)集中在任務(wù)到底“是什么”而非實(shí)現(xiàn)任務(wù)的流程。聲明式編程(DeclarativeProgramming)是命令式編程之外的幾種編程范式的一個(gè)總稱,我們將在稍后討論。

維基百科:

聲明式編程(英語:Declarative programming)是一種編程范型,與命令式編程相對(duì)立。它描述目標(biāo)的性質(zhì),讓電腦明白目標(biāo),而非流程。聲明式編程不用告訴電腦問題領(lǐng)域,從而避免隨之而來的副作用。而指令式編程則需要用算法來明確的指出每一步該怎么做。

  函數(shù)式反應(yīng)型編程是聲明式編程的子編程范式之一,這是本書要討論的主要內(nèi)容。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)