2007/10/27

Python 動態物件導向程式語言

1. Python 是什麼?
Python 是一種泛用性的動態物件導向程式語言。自 1990 年代初由 Guido van Rossum (又常被稱為 GvR 或 BDFL) 創造至今已歷十數年發展,應用於系統管理、網路管理、網路傳輸程式、網頁程式開發、數值分析程式、圖形介面應用程式等方面,均有優秀的表現。

雖然 Python 可能被粗略地分類為「腳本語言」(scripting language),但實際上一些大規模軟件開發計劃例如 Zope, Mnet 及 BitTorrent,Google也廣泛地使用它。 Python 的支持者較喜歡稱它為一種高階動態編程語言,原因是「腳本語言」泛指僅作簡單編程任務的語言,如 shell scripts、JavaScript等只能處理簡單任務的編程語言,並不能與Python相提並論。
2. Python 發展歷史
Python的創始人為Guido van Rossum。1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,作為 ABC 語言的一種繼承。之所以選中 Python(大蟒蛇的意思)作為程序的名字,是因為他是一個Monty Python的飛行馬戲團的愛好者。

ABC是由Guido參加設計的一種教學語言。就Guido本人看來,ABC 這種語言非常優美和強大,是專門為非專業程序員設計的。但是ABC語言並沒有成功,究其原因,Guido 認為是非開放造成的。Guido 決心在 Python 中避免這一錯誤(的確如此,Python 與其它的語言如C、C++和Java結合的非常好)。同時,他還想實現在 ABC 中閃現過但未曾實現的東西。

就這樣,Python在Guido手中誕生了。實際上,第一個實現是在Mac機上。可以說,Python是從ABC發展起來,主要受到了Modula-3(另一種相當優美且強大的語言,為小型團體所設計的)的影響。並且結合了Unix shell和C的習慣。
3. Python 優點
1. 快速的 Python: 
Python 程式執行的速度,在常用的動態語言 (PHP, Perl, Ruby, etc.) 中是數一數二快的。

2. 跨平台的 Python:
Python 可以執行在 Windows、Mac OS X、Linux 等常見的作業系統平台和其它較少使用的作業系統上,也可以在 Java 和 .Net 環境中執行。 另外,除了最普及的 Windows CE PDA 之外,Nokia S60 系列手機上也可以執行 Python 語言喔。

3.Python 網頁開發:
Python 有眾多網頁開發工具。從各式各樣的模板到框架級的 Django、TurboGears 與 Pylons,提供了優良的網頁開發支援。 如果你在網頁開發上的功能需求超越了框架的能力,請考慮 Zope: Z Object Publishing Environment,萬用的網頁應用程式伺服器。同時,你應該也會對 Python/Zope 下強大的網頁式內容管理系統 Plone 感興趣。

Python 支援各種資料庫。sqlite、MySQL、PostgresSQL、Oracle、MSSQL、FireBird 等等都沒問題。

Python 有極好的 SQL wrapper:SQLAlchemy,幫助我們用物件導向的方式存取資料庫。
參考資料