Python開發(fā)人員應(yīng)用Python大總結(jié)
Python開發(fā)人員在考慮企業(yè)中的Python應(yīng)用時(shí),通常都會(huì)實(shí)現(xiàn)快速地開發(fā)和應(yīng)用程序測試,雖然Python項(xiàng)目還是處于原型階段,但可能在將來的某一個(gè)階段會(huì)填補(bǔ)這一漏洞。
遠(yuǎn)低于Java編輯-編譯-測試的開發(fā)時(shí)間提升Java類庫的運(yùn)用。Jython還緊湊地集成了Python和Java的代碼, 令兩者都可以充分利用對方的優(yōu)點(diǎn)。而這正是Microsoft .NET的CLR技術(shù)所要實(shí)現(xiàn)的目標(biāo)之一,但今天對Python來說這一切已經(jīng)成為現(xiàn)實(shí)。
顯然,Python的企業(yè)應(yīng)用也應(yīng)該嚴(yán)肅對待反對方的意見。反對Python作為企業(yè)級編程可行語言的主要觀點(diǎn)如下:
◆相比其他編程語言,比如Java,Python的開發(fā)人員少很多。
◆ 缺乏真正的多處理器支持。
◆缺乏商業(yè)支持。
◆軟件性能(不過各種評測都反復(fù)表明Python在大多數(shù)應(yīng)用中堪與Java媲美)。
當(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ì)成為你的首選。
Python在軟件開發(fā)領(lǐng)域的劣勢大多數(shù)開發(fā)經(jīng)理幾乎很少了解Python。在現(xiàn)代IT領(lǐng)域的高壓力環(huán)境下,項(xiàng)目管理人員缺乏對Python及其工具的了解、缺乏其軟件開發(fā)方面的知識成為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在這一領(lǐng)域發(fā)展的也很快,在半年左右的時(shí)間里,Python完全可能在其中踏上一只腳。相比其對手語言,比如Perl、Java,在某種程度上再算上PHP,Python確實(shí)深受文檔缺乏之苦。
Python沒有廣泛、易于獲得的文檔和圖書。市面上冠以PHP標(biāo)題的圖書數(shù)量幾乎是Python的兩倍多;而Prel就更多了,它有400多種呢!Python的在線文檔 倒還組織得比較好,但是這些文檔幾乎全是些參考資料。
幸而Python開發(fā)人員相當(dāng)容易的學(xué)習(xí)曲線減輕了對圖書資料的過多需要。給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開發(fā)人員利用其模塊化和命名空間分析等特性減輕了這一方面的需求,這些特性可以讓多個(gè)程序員開發(fā)項(xiàng)目時(shí)不可能發(fā)生代碼沖突的情 況。但是,這同樣改變不了其協(xié)同性能缺乏的嚴(yán)重性。
【編輯推薦】