強(qiáng)大的Python應(yīng)用程序簡(jiǎn)析
最初設(shè)計(jì)Python應(yīng)用程序的人并沒有想到今天Python會(huì)在工業(yè)和科研上獲得如此廣泛的使用,這大大的提高了開發(fā)人員和程序設(shè)計(jì)人員的工作效率,也同樣便捷用戶使用。
用Python創(chuàng)建的Zope是開放源代碼領(lǐng)域使用最廣泛和最容易理解的內(nèi)容管理框架。這種工具可以讓了解Python的程序員以相比JSP/ASP更 少的時(shí)間來創(chuàng)建和部署具有高度交互性的網(wǎng)站,在這種框架下,網(wǎng)站屬主可以非常輕松地修改網(wǎng)站的內(nèi)容而無須程序員的介入。
Zope投入 實(shí)用已經(jīng)有若干年的時(shí)間了,目前,特別在歐洲地區(qū)已經(jīng)獲得了普遍的應(yīng)用。Zope在美國也贏得了廣泛的歡迎,目前對(duì)Zope的開發(fā)主要集中于簡(jiǎn)化開發(fā)過程 和進(jìn)一步將功能同內(nèi)容的表示相分離,從而再度增加了Zope的普及率,同Python一樣Zope也是開放源代碼軟件。
Zope確實(shí)引入了相當(dāng)?shù)南到y(tǒng)負(fù)荷,從而在開發(fā)期間降低了系統(tǒng)的性能,但是采用某些技術(shù)可以有效地把部署網(wǎng)站時(shí)產(chǎn)生的問題最小化。在考慮企業(yè)中的Python應(yīng)用時(shí),有一點(diǎn)往往被人們所忽略了,這就是Python應(yīng)用程序的變種Jython。Jython完全用Java語言編寫。
實(shí)現(xiàn)快速 地開發(fā)和應(yīng)用程序測(cè)試,以遠(yuǎn)低于Java編輯-編譯-測(cè)試的開發(fā)時(shí)間提升Java類庫的運(yùn)用。Jython還緊湊地集成了Python和Java的代碼。令兩者都可以充分利用對(duì)方的優(yōu)點(diǎn)。而這正是Microsoft .NET的CLR技術(shù)所要實(shí)現(xiàn)的目標(biāo)之一,但今天對(duì)Python來說這一切已經(jīng)成為現(xiàn)實(shí)。
缺點(diǎn)顯然,Python的企業(yè)應(yīng)用也應(yīng)該嚴(yán)肅對(duì)待反對(duì)方的意見。反對(duì)Python作為企業(yè)級(jí)編程可行語言的主要觀點(diǎn)如下:
◆相比其他編程語言,比如Java,Python應(yīng)用程序的開發(fā)人員少很多。
◆缺乏真正的多處理器支持。
◆缺乏商業(yè)支持。
◆軟件性能(不過各種評(píng)測(cè)都反復(fù)表明Python在大多數(shù)應(yīng)用中堪與Java媲美)。
當(dāng)然,缺乏商業(yè)支持是大多數(shù)開放源代碼技術(shù)都面臨的問題。對(duì)Python而言,一時(shí)也找不出個(gè)應(yīng)景的法子。然而。最近一些關(guān)注Python的歐洲公司新組成了一個(gè)商務(wù)團(tuán)體,也許這一舉動(dòng)標(biāo)志著Python發(fā)展的一個(gè)嶄新階段(請(qǐng)參考Python商務(wù)論壇的網(wǎng)站)。
大多數(shù)開發(fā)經(jīng)理幾乎很少了解Python。在現(xiàn)代IT領(lǐng)域的高壓力環(huán)境下,項(xiàng)目管理人員缺乏對(duì)Python及其工具的了解、缺乏其軟件開發(fā)方面的知識(shí)自然成為Python獲得接受的死穴。
畢竟,CIO或者開發(fā)主管受到最終勝利完成開發(fā)任務(wù)的沉重壓力。在可能的收益卻缺乏具體和誘人的證據(jù)這一現(xiàn)實(shí)條件下, 大多數(shù)開發(fā)經(jīng)理寧肯選擇他們知道的東西。所以很少有人了解Python也就不奇怪了。數(shù)據(jù)庫訪問層的局限性相比 現(xiàn)有的成熟技術(shù),比如ODBC和JDBC,Python的數(shù)據(jù)庫訪問層看起來就過于原始了。雖然這一方面也在發(fā)生變化。
但是,開發(fā)部門需要平滑地接合現(xiàn)有 的復(fù)雜遺留數(shù)據(jù),同時(shí)需要快速的SQL數(shù)據(jù)庫訪問,所有這一些使其在短時(shí)期內(nèi)難以對(duì)Python表現(xiàn)出什么太大的興趣。給Python應(yīng)用程序創(chuàng)建圖形用戶界面未必復(fù)雜。Python分發(fā)版本隨帶的Tk就是Python開發(fā)人員最常用的工具。但是Tk就缺乏可訪問、易用 的GUI工具。
剛啟動(dòng)的PythonCard項(xiàng)目目前雖然還處于原型階段,但可能在將來填補(bǔ)這一鴻溝。boa-constructor這種產(chǎn)品已經(jīng)吸引了 某些Python程序員,但是用它來創(chuàng)建全功能的IDE確實(shí)太復(fù)雜了。
相比GUI工具的缺乏更要命的是Python幾乎沒有支持團(tuán)隊(duì) 開發(fā)的協(xié)議工具。 Java在這些工具領(lǐng)域可謂相當(dāng)豐富,至少和C++可比。在企業(yè)軟件開發(fā)市場(chǎng)上,這一缺陷簡(jiǎn)直可視為致命的要害。沒有這類工具要讓很多程序員共同開發(fā)同一 項(xiàng)目幾乎是不可能的。
Python利用其模塊化和命名空間分析等特性減輕了這一方面的需求,這些特性可以讓多個(gè)程序員開發(fā)項(xiàng)目時(shí)不可能發(fā)生代碼沖突的情 況。但是,這同樣改變不了其協(xié)同性能缺乏的嚴(yán)重性。
【編輯推薦】






