路在何方?

2018-02-24 15:53 更新

路在何方?

這篇文章僅僅涉及到函數(shù)式編程的一些皮毛。考慮到有時候星星之火可以燎原,所以如果它能給你一些幫助那就再好不過了。接下來我計劃就范疇論、monads、函數(shù)式編程數(shù)據(jù)結(jié)構(gòu)、函數(shù)式語言中的類型系統(tǒng)、并行函數(shù)式編程、數(shù)據(jù)庫的函數(shù)式編程以及更多的話題寫些類似的文章。如果我可以寫出(在我學習的同時)以上清單的一半,我的人生就完整了。于此同時,Google將是我們的良師益友。

歡迎聯(lián)系

如果您有任何問題,評價或者建議,請發(fā)郵件到coffeemug@gmail.com(譯者:如果翻譯方面的問題/建議請發(fā)到yang.huang@ymail.com:))。期待您的回復。

注:
1 當我在2005年求職時的的確確經(jīng)常問別人這個問題??粗切┟H坏拿婵讓嵲谑呛芎猛娴氖虑?。你們這些年薪30萬美金的家伙,至少應該對自己可以利用的工具有個起碼的理解嘛。
2 這是個有爭議的問題。物理學家和數(shù)學家不得不承認目前還無法確定宇宙萬物是不是都遵從可以用數(shù)學方法描述的各種法則。
3 我一直一來都很討厭在歷史課上羅列一堆枯燥無味的時間、人名、事件。對我來說歷史就是關(guān)于那些改變世界的人們活生生的故事,是他們行為背后的個人動機,是那些他們用以影響蕓蕓眾生的方法和工具。從這個角度來說,接下來的這堂歷史課是不完整的,很遺憾。只有那些非常相關(guān)的人和事會被提及。
4 在我學習函數(shù)式編程的時候,“l(fā)ambda”這個術(shù)語搞得我很煩,因為我不知道它到底是什么意思。在這里lambda就是一個函數(shù),在數(shù)學符號中用這個希臘字母只是因為它更容易寫。所以以后在談及函數(shù)式編程的時候只要你聽到lambda,把它在腦中翻譯為“函數(shù)”就可以了。
5 有意思的是不論如何Java中的字符串總是不可修改的。討論這種背叛Java的設(shè)計背后的原因會很有意思,可惜這樣會讓我們跑題的。
6 大部分函數(shù)式語言的編譯器都會盡量將迭代函數(shù)轉(zhuǎn)換為對等的循環(huán)語句。這種做法叫做尾調(diào)用優(yōu)化。
7 反之則不一定成立。盡管有時候可以證明兩段代碼是等價的,但不是在所有的情況下都可以得出這樣的結(jié)論。
8 實際上這樣做并不比棧上存儲要慢,因為在引入垃圾回收機制后,內(nèi)存分配操作的時間代價僅為O(1)。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號