[文章] python創始人訪談錄: 關於 django 和 ruby
※ [本文轉錄自 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)
推
05/24 16:48, , 1F
05/24 16:48, 1F
推
05/25 02:01, , 2F
05/25 02:01, 2F
→
05/25 02:01, , 3F
05/25 02:01, 3F
推
05/26 01:24, , 4F
05/26 01:24, 4F
推
05/26 01:26, , 5F
05/26 01:26, 5F
推
06/03 15:50, , 6F
06/03 15:50, 6F