作者Killertcell (杀手T细胞)
看板CSSE
标题[文章] python创始人访谈录: 关於 django 和 ruby
时间Wed May 23 23:45:48 2007
※ [本文转录自 Programming 看板]
作者: Killertcell (杀手T细胞) 看板: Programming
标题: [文章] python 创始人访谈录 1: 关於 django 和 ruby
时间: Wed May 23 23:43:19 2007
转载自Google论坛里面python最热门的一个主题:
【听译大师说话】是我最近打算搞的一个系列。我以前觉得看这些大师访谈并没有什麽意
思,他们的想法大多在书本和网站都有所介绍,他们本人也接受了很多访谈,估计说的也
都是些套话,所以没必要看。最近听了两个访谈,一个是采访 python 创始人 Guido van
Rossum 的,另外一个是采访 php 创始人 Rasmus Lerdorf,让我感触很深,很多以前的
一些困惑得以解释。我想这些访谈节目应该让更多的人知道,所以我觉得应该
把这个系列搞下去,一是锻链自己的听力,二是更好的学习技术。我的英语水平不算太好
,好在我也算是一个程序员,相信做此类访谈的翻译要比英语专业的人要
更准确一点,而且我听译的内容大多是我喜欢的,也有兴趣做下去。我不是干这个事情的
最合适的人,但是很多比我更合适的人却不愿意做它,所以大家只能凑合
看了。我尽量做到不翻译错,如果有那些地方说的不对,希望大家指正。
下面是这个【听译大师说话】系列的第一篇的第一节《 python 创始人访谈录 1: 关於
django 和 ruby 》
主持人: Chris DiBona (Google 开源网站负责人) and Leo Laporte (Twit 网站创始
人)
被采访人:
Guido van Rossum (python 创始人)
Leo : Python 缺少一些本地的 gui 库吧,只有 tk 什麽的, 你觉得这是不是一个问题
呢?
Guido: 现在这越来越不成为一个问题了,因为越来越多的人使用 web 来做任何事情。
Leo :web 就是界面了
Guido: 但是的确也不解决什麽问题,正如我说的:" python 的 web 框架比语言中的关
键字还多" , 我个人最喜欢的一个,也是我长期的选择框架是 django
Leo :我正打算问你 django 的事情, 最近有人写了一篇文章,我想是在 rails 网站上
最先介绍的,它测试了,django ,
rails 和 perl 的 web 框架,django 的速度是最快的,远远超过其他。
Guido: 这很有趣,我没听说过这个。
C:你怎麽测试一个 web 框架啊?
Leo :他们设置一些 web 测试应用程序,建立一系列的事务测试案例来测试事务操作,
django 的速度相当的快,相当的快。 跟我们讲讲django 吧
Guido:我是一个对 django 非常满意的用户,并在项目中使用了一些 django 。我将
django 称为"第二代" python web 框架, 第一代是指 zope 和 twisted, django 是由两个在堪萨斯新闻报社工作的
小夥开发的,并非是一个很有名气的地方。
Chris:很奇怪,Zope, plone 也是来自报纸网站的
Leo :他们要流程化他们的工作流,这对他们可是很重要的事情。
Guido:也许是这个原因吧,堪萨斯的这家报社希望建立一个给当地人提供信息的本地网
站,该网站必须对读者的响应非常及时,必须很快地发布内容,并不
是简单把文章发布到网站上这样谁都可以做的事情,它必须很容易更换整个网站的外观,
添加一些新的创意,一些新功能,增加一些新的应用。例如,发布本地体
育赛事新闻,提供关於球队链接和照片等各种感兴趣的信息,他们希望这东西能很快运作
。我想他们做这个有两年了吧,这两个小夥子和一群编辑在一起工作,编
辑为他们提供内容。在工作的同时,他们觉得有必要做一个框架,他们从他们的第一个网
站应用中提取了框架。 通过编辑对他们不断提出的对网站修改需求,
他们对框架增加更好的灵活性,後来他们决定说"我们开源吧",他们的想法得到了报社的
支持。然後有趣的事情就发生了。我想现在报社还在部分地使用
django 吧,这两个小夥可能也不再在报社工作了,他们开始了 django 开源项目。我觉
得最棒的一点是,我跟这两个人谈过好几次,看了他们的
演示,了解他们是如何工作的,他们的确做到了开源。他们有很好的许可证协议,就我而
言,最重要的是,整个过程,他们运作用户社区的方式,他们的做法,他
们寻求在混乱,民主之间的平衡,让许多用户添加功能,提供想法,但是又不失去原有的
想法和框架的灵活性,我觉得做的非常的棒,使得 django 成为
一个越来越好的产品, 这已经远远超过当时堪萨斯报社所需要的。
Leo :那个测试是在 ruby on rails 的 wiki 网站上的
Guido: 现在能访问吗,我想看看
Chris:ruby on rails 的 wiki 无法访问了吧
Leo :不,就在那里,文章是 framework performance, django 网站关於这篇文章的链
接是坏的,他们测试了
symfony, 不是 perl 的框架,是一个 php 的 web 框架,以及 rails, django ,
django 相当的快,几十倍的。
Guido: 哇,我知道 django 开发组的确花费了相当的时间使得他们的模板机制运行的相
当流畅
Leo :他们当然使用了 modpython 以获得更好的性能。
Chris: modpython 是一个 apache 的 python 模块,使得 python 的运行更加快速
Leo :我要看看 django ,的确令人印象深刻
Guido:当然,我强力推荐它
Leo :我也看过 turbogear , 我经常上的一个网站"doggdot" ( http:
//doggdot.us/ ) 是用
turbogear 做的
Guido:什麽名字?这名字太难听了
Leo :doggdot.us 结合了digg, slashdot, del.icio.us into , 它是用 turbogear 写
的,这也是另外一个 python web 框架,看来还有许多其他的 python web 框架吧。
Guido:哦,看来 turbogear 和 django 现在正在竞争 web 开发的市场份额
Leo :我喜欢 ruby on rails , 我喜欢 ruby 的一个原因是,它从很多方面很像 python
Guido: 的确,它看上去很像 python
Leo :当然了,不过它的面向对像是从头做起的,任何东西都是对象(everyting is
object )
Guido: 在pyton中任何东西也都是对象(everyting is object ),但是并不是任何东
西都是类(everyting
is class ),因为这是我喜欢的方式。
Leo :跟我们讲讲这个吧,为什麽你喜欢这样
Guido:因为不是任何编程都会自然而然的采用面向对象的方式,比如一个很极端的例子
,很不幸,在 java 中写一个 helloworld 程序
要六七行的代码,你无法避免声明类 , 因为方法要定义在类中,这就要输入很多。
Leo :在 ruby ,数字也是对象
Guido:在 python , 也是这样的
Leo :是吗?在 ruby 中很容易重载一些函数,使得面向对象的做法很乾净,也很简洁
Guido: ruby 和 python 的不同在於, 在 ruby 中,你总是在类中定义函数,如果你不
明确指出函数属於哪个类,那麽你可能在一
个默认的类中定义函数,在 python 中,所有的数据对象都是类,但你可以在类以外定义
函数,比如 module (模块),作为函数的名字空间,
函数是对象,模块是对象,但是它们并不像类那样工作。 这麽实现跟 ruby 只是不同的
选择而已
Leo :你这麽做肯定有你的理由吧
Guido:最近我听到一些对於 ruby 的抱怨,的确有点让我吃惊,ruby 的执行速度比
python 慢很多,我想这的确影响到你刚才提到的一
些性能测试的结果
Leo :而且ruby 的线程也不是本地化的,这的确是个大问题
Guido:哦,天哪。
链接:
http://blog.csdn.net/koalant/archive/2007/05/10/1602982.aspx
原文转载自:
http://0rz.tw/672Fk
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: Killertcell 来自: 140.123.106.141 (05/23 23:46)
1F:推 qrtt1:python 还可以编成 bytecode 真是太可怕了 05/24 16:48
2F:推 Tiberius:pypy 真可怕 XD 05/25 02:01
4F:推 huge:pypy..不怎麽好听呀 XD 05/26 01:24
5F:推 huge:虽然中文也是有点吃力呀 ^^". 不过依然感谢分享 05/26 01:26
6F:推 abcdefghi:面向对象......Orz 对岸的人真的习惯这种翻译吗 ? 06/03 15:50