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