欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

趣味函數(shù)式編程圣經(jīng)

 更新時(shí)間:2020年06月17日 15:54:35   作者:夢(mèng)見  
這篇文章主要介紹了函數(shù)式編程的的相關(guān)資料,有趣的講解了函數(shù)式編程的相關(guān)知識(shí),幫助大家更好的理解學(xué)習(xí),感興趣的朋友可以了解下

1

第一天

上帝看到約翰·麥卡錫發(fā)明了表處理語(yǔ)言 Lisp,卻只用來(lái)學(xué)術(shù)研究,很是傷心,就把 Lisp 解釋器的秘密告訴了他的學(xué)生斯蒂芬·羅素,斯蒂芬·羅素將eval函數(shù)在IBM 704機(jī)器上實(shí)現(xiàn)后,函數(shù)式編程的大門第一次向人類打開了。

2

第二天

這個(gè)平行宇宙的上帝思想獨(dú)特,他說(shuō):“ 要有不變量”

上帝又說(shuō): “函數(shù)應(yīng)該是純粹的(純函數(shù))”

不能修改傳遞給函數(shù)的變量!

不能修改全局變量!

對(duì)于同樣的輸入?yún)?shù),返回值總是相同的!

下面的函數(shù)是被允許的,每次調(diào)用,返回值都相同,可以安全地調(diào)用,直到宇宙毀滅。

這樣的函數(shù)在函數(shù)式宇宙中是不允許的,因?yàn)榈诙握{(diào)用就會(huì)導(dǎo)致函數(shù)式宇宙的毀滅。

這個(gè)函數(shù)是不被允許的,它竟然想修改輸入?yún)?shù)!

如果函數(shù)返回了一個(gè)新的數(shù)組,而沒(méi)有改變?cè)械闹?,那函?shù)式上帝很高興。

人類對(duì)于上帝立下的規(guī)矩表示迷惑不解: are you kiding me ?

3

第三天

人類嘗試著寫程序,由于不變量的規(guī)定,發(fā)現(xiàn)連個(gè)最基本的for 循環(huán)都搞不定。

人類迷惑不解:“有沒(méi)有搞錯(cuò), 我們?cè)趺磳懷h(huán)?”

上帝說(shuō):“你們用循環(huán)干什么?”

人類寫了一段代碼。

上帝說(shuō):要有遞歸!

上帝也寫了一段代碼:

人類說(shuō):“這雖然能完成工作,但是好像不太直觀啊!再說(shuō),親愛(ài)的上帝,如果我那個(gè)list容量很大,遞歸層次很深,會(huì)不會(huì)出現(xiàn)棧溢出?”

上帝說(shuō):“沒(méi)事,我有尾遞歸,保證不溢出。這種遞歸的寫法,你們慢慢就習(xí)慣了?!?/p>

4

第四天

上帝發(fā)現(xiàn)很多函數(shù)大體上都是相同的,只有部分細(xì)節(jié)不一樣,有很多重復(fù)代碼,太浪費(fèi)了。

上帝說(shuō):“要有高階函數(shù)!”

讓函數(shù)來(lái)生成函數(shù),把公用的部分抽取出來(lái),不共用的部分與共用部分能組合起來(lái)。

上帝提供了幾個(gè)很好用的高階函數(shù),如map,filter, fold等,讓人類快速高效地去操作集合數(shù)據(jù)。

5

第五天

上帝對(duì)自己的工作很滿意。仿佛程序世界的框架已經(jīng)基本完成,只剩下邊邊角角的實(shí)現(xiàn)了。

可是這個(gè)宇宙的人類總是抱怨函數(shù)式編程太難,看到這里的上帝不愿意改變,有很多人都穿越到編號(hào)為S-87那個(gè)所謂“面向?qū)ο蟆钡挠钪嫒チ恕?/p>

上帝嘆了口氣:“你們吶,目光短淺,摩爾定律已經(jīng)失效,多核時(shí)代已經(jīng)來(lái)臨,我們函數(shù)式編程天生是為并發(fā)編程而生的啊,你看看函數(shù)沒(méi)有side effect,不共享變量,可以安全地調(diào)度到任何一個(gè)CPU core上去運(yùn)行,沒(méi)有煩人的加鎖問(wèn)題,多好?。 ?/p>

過(guò)了兩天,隔壁 S-87 宇宙的面向?qū)ο笊系蹃?lái)串門了。

面向?qū)ο笊系壅f(shuō):“親愛(ài)的函數(shù)式上帝,聽叛逃者,不,投誠(chéng)者,啊,是穿越到我那里的人說(shuō),你這個(gè)宇宙有個(gè)叫做函數(shù)式編程的寶貝?”

函數(shù)式上帝:“還寶貝?!人都跑光了!”

“你給我講講吧,到時(shí)候我再勸他們回來(lái)?!?/p>

函數(shù)式上帝于是給他講了自己創(chuàng)世紀(jì)時(shí)立下的規(guī)矩,還講了很多他打算在第6天,第7天告訴人類的知識(shí),什么Currying, 惰性求值,宏(macro)等等。

面向?qū)ο笊系郾硎靖兄x,喜滋滋地回去了。

后來(lái),函數(shù)式上帝聽說(shuō)面向?qū)ο蟮挠钪娉霈F(xiàn)了不少混合式風(fēng)格編程的語(yǔ)言 OOP + FP (Functional Programming),也就沒(méi)多少人再回到自己的宇宙了。

函數(shù)式上帝什么都沒(méi)說(shuō),嘆了口氣。

6

第六天

函數(shù)式上帝決定休息。

7

第七天

函數(shù)式上帝繼續(xù)休息。

這就是為什么函數(shù)式世界的程序員能休息兩天的來(lái)歷。

以上就是趣味函數(shù)式編程圣經(jīng) 的詳細(xì)內(nèi)容,更多關(guān)于函數(shù)式編程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • PE文件結(jié)構(gòu)詳解

    PE文件結(jié)構(gòu)詳解

    這篇文章主要介紹了PE文件結(jié)構(gòu)詳解,需要的朋友可以參考下
    2020-01-01
  • IntelliJ IDEA插件EasyCode安裝方法與使用技巧

    IntelliJ IDEA插件EasyCode安裝方法與使用技巧

    這篇文章主要介紹了IntelliJ IDEA插件EasyCode安裝方法與使用技巧,需要的朋友可以參考下
    2020-03-03
  • 微信支付jsapi缺少參數(shù) total_fee 錯(cuò)誤分析與解決方法

    微信支付jsapi缺少參數(shù) total_fee 錯(cuò)誤分析與解決方法

    這篇文章主要介紹了微信支付jsapi缺少參數(shù) total_fee 錯(cuò)誤分析與解決方法,需要的朋友可以參考下
    2018-03-03
  • java與c#的區(qū)別、兩者有什么不同?

    java與c#的區(qū)別、兩者有什么不同?

    Java和C#都是一門面向?qū)ο蟮恼Z(yǔ)言,Java更多地借鑒了C++的優(yōu)點(diǎn),而摒棄了它的一些不太容易被人掌握的知識(shí)點(diǎn)(有些不能說(shuō)是缺點(diǎn)),并且增加了一些自己的特點(diǎn),而C#則是更多地借鑒了Java的優(yōu)點(diǎn),而增加了一些自己的特點(diǎn)
    2013-04-04
  • YOLO v4常見的非線性激活函數(shù)詳解

    YOLO v4常見的非線性激活函數(shù)詳解

    這篇文章主要介紹了YOLO v4常見的非線性激活函數(shù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • 一文讀懂modbus slave和modbus poll使用說(shuō)明

    一文讀懂modbus slave和modbus poll使用說(shuō)明

    modbus poll和modbus slave是一款實(shí)用的modbus開發(fā)和調(diào)試工具,可以非常方便的進(jìn)行modbus調(diào)試,是非常有用的Modbus主機(jī)/從機(jī)模擬程序,這篇文章給大家介紹modbus slave和modbus poll使用說(shuō)明,感興趣的朋友一起看看吧
    2021-04-04
  • 詳解提升場(chǎng)景文本識(shí)別中的語(yǔ)言模型

    詳解提升場(chǎng)景文本識(shí)別中的語(yǔ)言模型

    語(yǔ)言模型即根據(jù)當(dāng)前語(yǔ)境的上下文推斷當(dāng)前句子的意思。文本圖像中包含兩層信息:視覺(jué)紋理信息和語(yǔ)言信息。由于單純根據(jù)視覺(jué)紋理信息進(jìn)行文字識(shí)別缺少了對(duì)上下文的字符語(yǔ)義信息的挖掘,時(shí)常會(huì)導(dǎo)致錯(cuò)誤的文本識(shí)別結(jié)果(之后會(huì)詳細(xì)說(shuō)明)。
    2021-05-05
  • 300行代碼讓外婆實(shí)現(xiàn)語(yǔ)音搜索購(gòu)物功能

    300行代碼讓外婆實(shí)現(xiàn)語(yǔ)音搜索購(gòu)物功能

    這篇文章主要介紹了300行代碼讓外婆實(shí)現(xiàn)語(yǔ)音搜索購(gòu)物功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • H5混合開發(fā)手機(jī)Web App入門:概念篇

    H5混合開發(fā)手機(jī)Web App入門:概念篇

    如果你開始學(xué)習(xí)手機(jī) App 開發(fā),就一定會(huì)聽到 H5 這個(gè)詞。它是目前的主流開發(fā)技術(shù)之一,容易上手,開發(fā)周期短、成本低、兼容傳統(tǒng) Web 開發(fā)。但是,很少有文章詳細(xì)介紹,H5 到底是什么技術(shù),有什么原理,跟其他技術(shù)的差異在哪里。
    2022-12-12
  • 十招教你學(xué)會(huì)破解[教程]

    十招教你學(xué)會(huì)破解[教程]

    十招教你學(xué)會(huì)破解[教程]...
    2007-04-04

最新評(píng)論