對Python應(yīng)用領(lǐng)域講解
在考慮企業(yè)中的Python應(yīng)用時(shí),有一點(diǎn)往往被人們所忽略了,這就是Python的變種Jython。Jython完全用Java語言編寫。實(shí)現(xiàn)快速 地開發(fā)和應(yīng)用程序測試,以遠(yuǎn)低于Java編輯-編譯-測試的開發(fā)時(shí)間提升Java類庫的運(yùn)用。
令兩者都可以充分利用對方的優(yōu)點(diǎn)。而這正是Microsoft .NET的CLR技術(shù)所要實(shí)現(xiàn)的目標(biāo)之一,但今天對Python來說這一切已經(jīng)成為現(xiàn)實(shí)。當(dāng)然,缺乏商業(yè)支持是大多數(shù)開放源代碼技術(shù)都面臨的問題。對Python而言,一時(shí)也找不出個(gè)應(yīng)景的法子。
然而,最近一些關(guān)注Python的歐洲公司新組成了一個(gè)商務(wù)團(tuán)體,也許這一舉動(dòng)標(biāo)志著Python發(fā)展的一個(gè)嶄新階段(請參考Python商務(wù)論壇的網(wǎng)站)。缺乏預(yù)包裝的解決方案PHP 在企業(yè)軟件領(lǐng)域贏得了輝煌的成功,主要原因就在于其廣泛實(shí)用的產(chǎn)品門類,比如討論板、聊天服務(wù)器和分組日歷以及即時(shí)消息系統(tǒng)等。
相比之下,Python提 供的解決方案就少多了。Python語言的分發(fā)版中確實(shí)包含了一些擴(kuò)展的類庫越來越多的程序員也在致力于開發(fā)等價(jià)PHP的Python工具。但是考慮到 市場的時(shí)間緊迫性,而且你所面臨的問題已經(jīng)有現(xiàn)成的PHP解決方案可以對付,那么PHP自然會(huì)成為你的***。
大多數(shù)開發(fā)經(jīng)理幾乎很少了解Python。在現(xiàn)代IT領(lǐng)域的高壓力環(huán)境下,項(xiàng)目管理人員缺乏對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)難以對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ā)市場上,這一缺陷簡直可視為致命的要害。
沒有這類工具要讓很多程序員共同開發(fā)同一 項(xiàng)目幾乎是不可能的。Python利用其模塊化和命名空間分析等特性減輕了這一方面的需求。這些特性可以讓多個(gè)程序員開發(fā)項(xiàng)目時(shí)不可能發(fā)生代碼沖突的情 況。但是,這同樣改變不了其協(xié)同性能缺乏的嚴(yán)重性。
Python有一個(gè)交互式的開發(fā)環(huán)境,因?yàn)?FONT>Python是解釋運(yùn)行,這大大節(jié)省了每次編譯的時(shí)間。Python語法簡單,且內(nèi)置有幾種高級(jí)數(shù)據(jù)結(jié)構(gòu),如字 典、列表等,使得使用起來特別簡單,程序員一個(gè)下午就可學(xué)會(huì),一般人員一周內(nèi)也可掌握。
Python應(yīng)用具有大部分面向?qū)ο笳Z言的特征,可完全進(jìn)行面向?qū)ο缶?程。它可以在MS-DOS、Windows、Windows NT、Linux、Soloris、Amiga、BeOS、OS/2、VMS、QNX等多種OS上運(yùn)行。
小結(jié):
說也說了做也做了,是否在企業(yè)中嘗試或接受Python仍然是一個(gè)復(fù)雜的問題,具體問題具體分析。咱們把各種爭論先放一邊,至少可以得到下面的一些共識(shí):
◆如果你已經(jīng)擁有大量的PHP代碼或者PHP應(yīng)用程序,那么遷移到Python不可行。
◆如果你的Java代碼基礎(chǔ)雄厚但你需要大量的小型應(yīng)用程序、小程序和代碼接口,那么Python/Jython可能會(huì)為你節(jié)約大量開發(fā)時(shí)間。
◆如果你正好手下有一到兩個(gè)程序員工作比較清閑,那么我建議你不妨讓他們研究下Python看能不能在將來派上用場。
【編輯推薦】