最近阅读《流畅的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》有感相关推荐

  1. python 打印皮卡丘_来简单聊聊python的装饰器呀~

    原文链接 来简单聊聊python的装饰器呀~​mp.weixin.qq.com 导语 之前很多小伙伴留言给我说看别人写的代码经常会感觉云里雾里的,完全看不懂,其实那些代码无非就是用了些python语法 ...

  2. 小学生python编程写游戏_小学生开始学Python,开发AI的首选编程语言:推荐一波Python书单...

    AlphaGo 都在使用的 Python 语言,是最接近 AI 的编程语言. 教育部考试中心近日发布了"关于全国计算机等级(NCRE)体系调整"的通知,决定自2018年3月起,在全 ...

  3. 用python给女朋友惊喜_如和用python给女朋友做个专属她的软件

    如和用python给女朋友做个专属她的软件 在学习python的路上如果觉得枯燥就可以想我一样做一些有趣的事情就不会无聊了 python是一门及其有趣的语言. 人们都喜欢记住一些重要的日子,比如说跟女 ...

  4. python语言运行效率高_如何评价说PYTHON是最快的语言?

    我是视频的作者,首先感谢朋友们的关注,并且诞生了这个论题,让我可以看到大家对我视频中的观点的反馈.对于大家的讨论,在日常时间允许的条件下,我会尽量参与.下面就我目前已经看到的朋友们的评论,做一下展开. ...

  5. c++中的引用和python中的引用_对比 C++ 和 Python,谈谈指针与引用

    作者 | 樱雨楼 引言 指针(Pointer)是 C.C++ 以及 Java.Go 等语言的一个非常核心且重要的概念,而引用(Reference)是在指针的基础上构建出的一个同样重要的概念. 指针对于 ...

  6. python入门第一课_入门第一课 Python入门涉及的问题及简单示例

    很多初学者都在问:我想自学Python,该怎样入门?入门选择哪些书籍? 下面,我以自己的理解作出解答. 1.先说明大体的学习进度. Python确实入门较为容易,语法清晰易懂.一旦入了门再想提高就和其 ...

  7. python国内书籍推荐_这些都是Python官方推荐的最好的书籍

    转行学Python有前途吗?这个答案是肯定的,AI课程都已经进入小学教材了,未来Python趋势无疑是光明的,但是如何学习Python,很多Python小白都来问小编有什么适合的Python入门书籍推 ...

  8. python画日漫_不能错过的Python漫画

    原标题:不能错过的Python漫画 漫画内容取自: http://kaltap.com/2015/11/28/9-python-cartoons/ 翻译: 诗书塞外 Python部落()组织翻译, 禁 ...

  9. 新手入门python的注意事项_【新手入门Python语言的方法】

    2018年编程语言榜,Python位居榜首,很多学员对这门表示有着强烈的兴趣. 中公优教育小编这次就来谈谈Python入门方法. 下面直接进入今天的主题: 学编程,python算是一个不错的选择.因为 ...

  10. 我的python学习笔记全集_记录我的Python学习笔记

    不想再像以前那样,什么都从头开始学习语法.总结语法,这样反而会过分纠结于语法,耽误了开发,毕竟语言的主要属性是工具,次要的属性是语言本身. 所以还是先熟练使用语言去进行开发,等足够熟悉了,再去研究语言 ...

最新文章

  1. Ecplise中怎样进行全局搜索
  2. Wireshark抓包—maybe caused by 'IP chechsum offload'?
  3. android滚动条布局横向,Android自定义ViewGroup实现可滚动的横向布局(2)
  4. 【ArcGIS风暴】ArcGIS中等高线高程标注/注记(打断/消隐)方法案例汇总
  5. 基于国家标准的 EndNote 输出样式模板
  6. 细说ReactiveCocoa的冷信号与热信号(三):怎么处理冷信号与热信号
  7. docker下centos7 systemctl启动报错 docker Failed to get D-Bus connection 报错
  8. [转]WF事件驱动(4) -持久化
  9. zynq文档阅读之EMIO和MIO的细微差别
  10. HTTP协议中POST方法和GET方法有那些区别?
  11. 愤怒的小鸟python代码_Python 愤怒的小鸟代码实现:物理引擎pymunk使用
  12. easyui-textbox锁定按钮不锁定_EU5几乎锁定年度销量冠军,为何北汽新能源却高兴不起来?...
  13. 织梦DEDE一键搬迁网站模板数据到DSCMS教程
  14. IDL处理葵花8Himawari-8标准HSD数据——制作大气校正数据集(卫星角度数据)
  15. Vue项目上传图片后在ie浏览器卡死
  16. HTML5期末大作业:动漫A网站设计——动画漫展学习资料电影模板(6页) 网页设计作业 / 动漫网页设计作业,网页设计作业 / 动漫网页设计成品,网页设计作业 / 动漫网页设计成品模板下载
  17. Linux 系统 /var/log/journal/ 垃圾日志清理
  18. 第11节:Docker基本操做
  19. 高德地图获取坐标距离_高德地图获取两个经纬度点间直线距离JS/PHP/SQL代码
  20. 液压缸移动负载分析(液压系统基础)

热门文章

  1. 1 100的奇数和编程php,用PHP求出1—100中的基数之和,偶数之和
  2. 关于删除 srvinstw安装的服务
  3. “差不多先生”姚劲波和不再神奇的58同城
  4. JDK环境变量正确设置之后还是不生效
  5. java 4.0 下载_poi.jar包下载 Apache POI 4.0.0 正式版 Office文档jar包 官方免费版 支持Java8+ 下载-脚本之家...
  6. Windows 98 SE
  7. SQL Server 2000查询分析器的使用
  8. 使用el-image-viewer的预览功能
  9. layui的按钮禁用与启用
  10. iPhone通讯录整理及vcf-CSV互转