讀《流暢的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
- 流暢的python讀書筆記-第一章Python 資料模型Python筆記模型
- 流暢的Python-Fluent Python簡要書評Python
- 流暢的 Python – 3. 文字與位元組Python
- 讀書日有感
- 《流暢的Python》第二版 第11章Python
- 《流暢的Python》第二版 第12章Python
- 《流暢的Python》 讀書筆記 第7章_函式裝飾器和閉包Python筆記函式
- 讀《程式碼大全》有感
- 讀《大道至簡》有感
- 讀 《CSharp Coding Guidelines》有感CSharpGUIIDE
- Python 潮流週刊第 42 期(摘要)+ 贈書《流暢的Python》6本Python
- 讀具體數學有感
- 【讀程式碼重構有感】
- 讀《mysql是怎樣執行的》有感MySql
- 讀《許式偉的架構課》有感架構
- 讀 《HTML5 揭祕》有感HTML
- 管理是什麼?——讀《管理的實踐》有感
- 流暢的python讀書筆記-第六章-使用一等函式實現設計模式Python筆記函式設計模式
- 舊電腦更流暢的操作
- 讀 do_while_true 退役記有感While
- 閱讀React16原始碼有感React原始碼
- Python3+Pygame實現的射擊遊戲,很流暢,有音效PythonGAM遊戲
- [譯] 構建流暢的互動介面
- 讀雷博部落格有感——加油程式猿
- Node.js流(一) 可讀流及可讀流的實現Node.js
- 最流暢的遠端桌面,有沒有最流暢的遠端桌面推薦,具體怎麼使用?
- 流暢切換的彩色選單欄:ColorfulNavigationBarNavigation
- Win10最佳化指南 提升Win10流暢度讓你的電腦流暢起來Win10
- Movist Pro for Mac中文啟用版:暢享流暢影音盛宴Mac
- 讀《大道至簡:軟體工程實踐者的思想》有感軟體工程
- win10遊戲流暢度怎麼提升_win10提高遊戲流暢度的操作方法Win10遊戲
- 高流暢的遠端控制軟體推薦
- IINA,在Mac上享受流暢的影片體驗Mac
- ITSM的服務檯如何讓工作更流暢
- Flutter 流暢度優化元件 KeframeFlutter優化元件
- 流(stream):可讀流篇
- 讀“運維崗位真的不能幹了嗎”有感運維
- 讀Apache Dubbo官網有感:使用建議事項Apache