from:http://blog.csdn.net/koalant/archive/2007/05/10/1602982.aspx
【听译大师说话】是我最近打算搞的一个系列。我以前觉得看这些大师访谈并没有什么意思,他们的想法大多在书本和网站都有所介绍,他们本人也接受了很多访谈,估计说的也都是些套话,所以没必要看。最近听了两个访谈,一个是采访 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:哦,天哪。
分享到:
相关推荐
标题与描述中的关键词“Python Web框架”,“Django”,“Python开发Web站点”明确指出了本文档的主题,即使用Python编程语言与Django框架进行Web应用开发。文档内容虽然包含了一些无法解析的[pic]标记,但核心信息...
python课程设计基于python+Django的个人博客系统源码,适合入门学习,经老师指导通过的高分项目。 author:Ericam_ 项目版本: python:3.7 django:3.0 依赖包: pillow,django-simpleui,django_summernote 测试...
Django + python + mysql的在线考试系统源码 Django + python + mysql的在线考试系统源码 Django + python + mysql的在线考试系统源码 Django + python + mysql的在线考试系统源码 Django + python + mysql的...
Freepark(工作名称) 适用于众包免费停车位的Python + Django Web应用程序使用Leaflet通过OpenStreetMap进行客户端地图渲染主屏幕截图使用的技术: Python3.8 Django Postgresql Pipenv环境LeafletJS OpenStreetMap...
给大家分享一套课程——Django+Vue:Python Web全栈开发(基于Django4.1),已完结10章,附源码。
python-diango-web 是【有来开源组织】 基于 Python + Django + MySQL实现的Python Web版学生增删改查,旨在快速入门Python Web开发。 项目仓库地址:https://gitee.com/youlaiorg/python-diango-web 项目文档地址:...
Python Django + Bootstrap 实现用户管理系统是一种常见的Web应用开发方式,结合了Python的高效与Django框架的强大,以及Bootstrap的响应式设计。以下是对这个主题的详细解析: **Python Django** Django是Python的...
基于DJango开发的仓库管理系统,软件架构:python 3.5、django 2.2、MySQL 基于DJango开发的仓库管理系统,软件架构:python 3.5、django 2.2、MySQL 基于DJango开发的仓库管理系统,软件架构:python 3.5、...
### 知识点详解 #### 一、Python基础 Python是一种高级编程语言,以...以上就是“全套百度云教程:python基础+进阶+项目篇 (含Django和Tornado)”的主要知识点概述。希望对您学习Python及相关的Web开发技术有所帮助。
Django家政管理系统,版本号:Python3.6 + Django2.2 + 后台simpleUI,数据库:MySQL Django家政管理系统,版本号:Python3.6 + Django2.2 + 后台simpleUI,数据库:MySQL Django家政管理系统,版本号:Python3.6 ...
2. Pywin32:Python访问Windows API的库,对于打包Django项目是必需的。 三、Pywin32安装 根据你的Python版本(32位或64位)下载相应的Pywin32版本。安装过程中可能遇到问题,如找不到Python3.6-32位路径。如果遇到...
如果你在学习python,你在找一本学习的书进行更深入学习,我推荐大学学习《Python高效开发实战:Django、Tornado、Flask、Twisted》_sample.pdf,
Python基于Django的图书管理系统源码 Python基于Django的图书管理系统源码 Python基于Django的图书管理系统源码 Python基于Django的图书管理系统源码 Python基于Django的图书管理系统源码 Python基于...
基于python+django的网络舆情分析系统的实现.zip 运行步骤 需要先安装Python的相关依赖:django==3.2.8, pymysql,...第四步:运行命令:python manage.py runserver 第五步:打开浏览器查看http://127.0.0.1:8000
(1)\1、Django基本流程走通 (2)\2、Django中的模型 (3)\3、Django中的视图 (4)\4、Django中的模板 (5)\5、Django的高级使用 (6)\6、Django爱鲜蜂项目第一天 (7)\7、Django爱鲜蜂项目第二天 (8)\8、Django爱鲜蜂项目...
django项目访问apollo,增加了配置加密后自动解密功能 当环境设置为local,默认取本地配置,配置文件默认在~/data/apollo/cache/ django_apollo-1.0.0-py3-none-any.whl 解密即修改该文件的KEY Apollo加密方法 KEY=...
项目概述:这是一款采用高效Python开发,基于Django框架的CRM(客户关系管理)系统。它包含了完整的源码,共619个文件,涉及多种编程语言和技术,包括Python、HTML、JavaScript、CSS、Shell等。 文件构成: - 图片...
Python基于Django的旅游信息管理系统源码Python基于Django的旅游信息管理系统源码Python基于Django的旅游信息管理系统源码Python基于Django的旅游信息管理系统源码Python基于Django的旅游信息管理系统源码Python基于...
1. **Python语言**:Python是一种高级编程语言,以其简洁明了的语法和丰富的标准库而闻名。它适用于多种任务,包括Web开发、数据分析、自动化脚本等。Python的易读性和模块化特性使得代码易于维护和扩展。 2. **...
1. 学习曲线较陡:Django框架具有非常陡的学习曲线,需要开发者有良好的Python基础和Web开发经验。 2. 配置较复杂:Django框架的配置较复杂,需要开发者有良好的配置和部署经验。 3. 不适合小型项目:Django框架不太...