看流畅的python感觉有难度_读《流畅的Python》有感
最近閱讀《流暢的Python》,發(fā)現(xiàn)這是一本非常好的Python進(jìn)階讀物,把很多Python概念都掰扯得非常清楚。同時看了一下圖靈社區(qū)的評論,把譯者將future翻譯成期物批得是狗血噴頭,想想譯者這樣翻譯肯定花了很長時間斟酌,卻落得如此下場,真是悲哀。由此想到大翻譯家傅雷,據(jù)說他翻譯《約翰克利斯朵夫》時十年磨一劍,每天只翻譯個一兩千字,且反復(fù)修改。這樣做都能養(yǎng)家糊口,不知道是出版社給的翻譯費(fèi)高,還是翻譯只是傅老爺子的副業(yè),根本不在乎這點(diǎn)翻譯費(fèi)。這本書的翻譯質(zhì)量如何我不知道,但我知道,有些名著的中譯本也存在不少翻譯錯誤,而且讀起來很拗口,即便不能說很痛苦,也談不上享受。不知道大家讀翻譯的世界名著感覺如何,反正我基本上是都不下去的。
在編程中,future表示異步執(zhí)行的操作,考慮到這種操作的結(jié)果不是馬上可得,最初發(fā)明這個術(shù)語的人想必是借鑒了期貨的概念。所謂期貨,指的是約定在未來進(jìn)行的交易,只是這種這種交易是在交易所進(jìn)行的,且都是標(biāo)準(zhǔn)合約,交易雙方不能自行訂立。這與編程中future的概念不太一致。更準(zhǔn)確地說,編程中future概念類似于金融領(lǐng)域的遠(yuǎn)期(forward)概念,因為遠(yuǎn)期也是一種約定在未來某個時點(diǎn)進(jìn)行交易的交易合約,但交易雙方可自行訂立。
在網(wǎng)上搜索了一下future,發(fā)現(xiàn)有人將這個概念說得比較準(zhǔn)確。http://blog.csdn.net/newpidian/article/details/53393364是這樣解釋的:
Future模式,核心思想是異步調(diào)用,就是當(dāng)調(diào)用一個方法時,這個函數(shù)可能執(zhí)行得很慢,就需要等待,但是有時候并不著急要這個結(jié)果,所以選擇不去傻傻等待,而是做其他的事情。就好比”雙十一”購物,你買到了想要的東西,那么你不可能等待它到貨,然后才做另一件事情,你可能想繼續(xù)購物其他的商品。而對于已經(jīng)購買得商品,會生成一個訂單,你只需要等待這個訂單的快遞通知(notify)就行了。
而http://www.cnblogs.com/xumanbu/p/4187010.html是這樣解釋的:
Future有道翻譯:n. 未來;前途;期貨;將來時。我覺得用期貨來解釋比較合適。舉個實際生活中例子來說吧,今天我女朋友過生日,我去蛋糕店準(zhǔn)備給女朋友定個大蛋糕,超級大的那種。
“老板,我要個最大最漂亮的蛋糕”
“好,999元,先付款吧”
“這么貴!!!”想想還是買了吧,掏了錢,付了款,老板給我一張蛋糕票。
“下午過來取。下午拿這張蛋糕票過來拿蛋糕”
“納尼,這么久”
“沒有辦法,你可以選擇在這等,我們會馬上開做,不過我建議你還是去干點(diǎn)別的,去買個花什么的,那樣您女朋友會更開心的”
……
下午一點(diǎn)鐘我早早的就到蛋糕店了。
“老板,我的蛋糕呢?”
“不好意思,還沒做好,您稍微等一會”
“暈”
十分鐘后,我終于拿我的蛋糕票取到了送給女朋友的超級大蛋糕了。
這就是Future模式,蛋糕就是我要的數(shù)據(jù)(RealData),去蛋糕店訂蛋糕就是我調(diào)用取數(shù)據(jù)的方法,付完錢,我沒有真的拿到蛋糕,只是一個蛋糕票(FutureData),要取數(shù)據(jù)就是拿這個蛋糕票(FutureData)取(get)蛋糕(RealData)。取的時候蛋糕可能還沒有做好,你還是要等,如果做好了,你直接拿走就行了。這種模式的好處就是你不用一直在等著蛋糕出來,做蛋糕的時間你可以去做別的事。有一點(diǎn)就是你不能準(zhǔn)確的知道多久能做好蛋糕,很有可能來早了,還是要等,但是沒有關(guān)系,總比一直在等著強(qiáng)吧。
在編程中,future、promise和deffered等概念出現(xiàn)了很長時間,可大家都不翻譯,直接引用原文了事,原因是難以找到準(zhǔn)確的翻譯,強(qiáng)行翻譯只會吃力不討好,前面提到的對《流暢的Python》一書譯者的批評乃至攻擊就是活生生的證明。然而,將future翻譯成“期物”雖然說不是非常準(zhǔn)確,但也不失為很好的嘗試,為什么只是批評,卻不提出改進(jìn)的建議呢?您光說人家翻譯得很糟,卻不說該怎么翻譯,往小里說這是缺乏建設(shè)性,往大處說是成事不足敗事有余!
綜合查看的資料,覺得編程中的future概念比較接近于“訂單”。異步調(diào)用方法時,會返回一個結(jié)果,但這個結(jié)果并非真正的計算結(jié)果,而相當(dāng)于在網(wǎng)上購物后生成的訂單。這里拋磚引玉,希望大家積極討論,看看將這個大家都不翻譯的future翻譯成什么比較合適。
總結(jié)
以上是生活随笔為你收集整理的看流畅的python感觉有难度_读《流畅的Python》有感的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: layui 在springboot2.x
- 下一篇: python游戏程序代码大全_童年游戏,