翻译

中译版的 SICP 好难读啊

我最早是在上高中时,从王垠的网站上知道了 Scheme 这门编程语言,后来洪峰的一些文章也提到了不少 Scheme 的功能。那时我比较迷恋 Scheme,一方面因为我从来没有接触过函数式编程语言,Scheme 这种用小括号堆砌出来的代码,比起过程式编程语言来说新奇了许多;另一方面也有 LISP 光环带来的效应。所以当我得知了有一本书,名为 Structure and Interpretation of Computer Programs,中文名为《计算机程序的构造和解释》,堪称 Scheme 语言的“圣经”,并且是麻省理工学院计算机系的初等课程教材后,我就一直像一窥这本书的风貌。

谷歌翻译辅助系统好棒

今天早上看Google Reader的时候,从Google黑板报上看到了“谷歌翻译辅助系统”(Google translate toolkit)发布的消息。开始的时候我没在意,只是顺手点了一下产品的链接,继续看其它文章了。等进去一看,却让我吃惊的有点合不拢嘴──这正式我想了很久的东西了。

我过去曾经翻译过或多或少的英文计算机相关的文章,一来锻炼英文,二来也算“造福大众”。在今年2月左右,我翻译了几篇Guido van Rossum写的《Python历史》。那时Guido刚刚开始写,我本来想的好好的,Guido出一篇,我就翻译一篇。不过翻译了几篇后我的进度就再也跟不上了。最后的一次是Guido似乎那一阵子比较闲,放出一大长篇后,没几天又放出一大长篇。Guido的英文风格让我看来有点过于复杂的感觉,不知道是不是因为他母语是荷兰语的感觉,翻译他的文字比翻译标准英语母语的人(比如Andy Hertzfeld)要吃力。

翻译Python历史:Python对动态类型的使用

This post a a Chinese translation of Guido van Rossums‘s article “Python’s Use of Dynamic Typing” on his blog named “The History of Python“.

原文地址:http://python-history.blogspot.com/2009/02/pythons-use-of-dynamic-typing.html

ABC和Python间一项重要的区别是类型系统的总体特点不同。ABC是静态类型语言,意味着ABC编译器分析程序中使用的类型并判断它们被正确的使用。如果不是,程序会被拒绝并无法运行。不像今天多数静态类型语言那样,ABC使用类型推断(像Haskell那样)而不是像你在C之类的语言中看到的显式的类型声明那样。相反的,Python是动态类型语言。Python编译器高兴的对程序中类型的使用不感兴趣,所有的类型检查都在运行的时候进行。

尽管这样看上去对于ABC是一种很大的远离,但它并不如你想象的那样不同。不像其它静态类型语言,ABC不是(不曾是?它在今天确实已经是纯历史了:-))仅仅依赖于静态类型检查来确保程序不崩溃,当所有的操作执行时,它有运行期的库来为它们再次检查参数类型。这样做是因为编译器健全的类型检查算法的一部分在最初的语言原型实现中并没有被实现。运行期的库在调式的时候同样有用,因为显式的运行期类型检查可以产生漂亮的错误信息(指向实现团队),而不是解释器毫不检查参数时就盲目的运行而引起的core dump。

翻译Python历史:早期语言的设计与开发

This post a a Chinese translation of Guido van Rossums’s article “Early Language Design and Development” on his blog named “The History of Python”.

原文地址:http://python-history.blogspot.com/2009/02/early-language-design-and-development.html

从ABC到Python

Python最早的、最重要的影响来源是ABC,一门由Lambert Meertens,Leo Geurts和其他CWI的人在1980年代早期设计的语言。ABC是用于教学的语言,是个人计算领域里BASIC语言的替代物。它被设计成先做编程任务的任务分析,再做许多包含严格用户测试的迭代。我在ABC小组中的任务主要是实现语言和它的集成编辑环境。

翻译Python历史:个人历史 – 第二部分,CNRI和之后

This post a a Chinese translation of Guido van Rossums’s article “Personal History – part 2, CNRI and beyond” on his blog named “The History of Python”.

原文地址:http://python-history.blogspot.com/2009/01/personal-history-part-2-cnri-and-beyond.html

Python研讨会(参看之前的文章)的结果是一份在CNRI(the Corporation for National Research Initiatives,国家研究研发公司)的工作。CNRI是位于维珍尼亚州来斯顿的一个非盈利的研究实验室。我在1995年四月份加入。CNRI的主管Bob Kahn是第一位向我指出Python与Lisp之间共同点的人,尽管两者从外表(语法)上完全不同。在CNRI,DARPA授权的移动媒介研究间接的给Python工作提供经济支持。尽管有DARPA支持的项目在使用Python,但没有太多对编程语言本身的直接支持。

翻译Python历史:个人历史 – 第一部分,CWI

This post a a Chinese translation of Guido van Rossums‘s article “Personal History – part 1, CWI” on his blog named “The History of Python”.

原文地址:http://python-history.blogspot.com/2009/01/personal-history-part-1-cwi.html

Python的早期开发始于位于阿姆斯特丹的一个名为CWI的研究机构。CWI是Centre for Mathematics and Computer Science的荷兰语拼写的首字母。CWI是个有趣的地方,它接受荷兰政府的教育部门和其它研究拨款,做学术等级的计算机科学和数学研究。任何时间那里都有很多博士生,老辈的人或许还能记得它的原始名称:数学中心。在这个名字下,最有名的发明或许就是Algol 68了。

翻译Python历史:Python的简要时间表

This post is a Chinese translation of Guido van Rossum‘s article “A Brief Timeline of Python”.

原文地址:http://python-history.blogspot.com/2009/01/brief-timeline-of-python.html

Python的开发和流行是和许多其它的动态(和开源)编程语言如Tcl、Perl和后来的Ruby的同时代的。为了给Python一个更好的历史看法,下面这张表展示了Python的发布历史。在早期我没有严格的记录每件事,因此那时的日期并不精确。

翻译Python历史:介绍与概述

This post is for translating an article named “Python’s Design Philosophy” by Guido van Rossum.

原文地址:http://python-history.blogspot.com/2009/01/introduction-and-overview.html

介绍

Python是目前最流行的几种动态编程语言(包括Perl、Tcl、PHP,以及新成员Ruby)之一。尽管它经常被认为是一门“脚本式”语言,但它确实是一门通用的编程语言,就像Lisp和Smalltalk以及其它语言一样。在今天,Python被用于从用一次就扔到的脚本到提供24×7小时不间断服务的大型服务器的各个领域中。它被用于GUI和数据库编程、客户端和服务器端的网络编程,以及程序测试。它既被科学家用来给世界上最快的超级电脑写程序,也被儿童用来学习编程。

翻译Python历史:Python的设计哲学

从LinuxToy上看到了Python的作者开blog写史的消息,马上进去看看,发现现在一共有两篇文章。因此想到现在做一个粗略的翻译可能会对中文读者有帮助,就抽了点时间翻译了其中的第二篇文章。我翻译的很不正规、也很不严谨。但对于不想做Python历史学家的普通读者应该能看通大略意思。

This post is for translating an article named “Python’s Design Philosophy” by Guido van Rossum.

原文地址:http://python-history.blogspot.com/2009/01/pythons-design-philosophy.html

后面的blog文章会讨论Python历史的(血淋淋的)细节。然而在那之前,我想详细的说一下在我设计和实现Python时帮助我做出决定的哲学上的指导方针。