對Python應用領域講解
在考慮企業中的Python應用時,有一點往往被人們所忽略了,這就是Python的變種Jython。Jython完全用Java語言編寫。實現快速 地開發和應用程序測試,以遠低于Java編輯-編譯-測試的開發時間提升Java類庫的運用。
令兩者都可以充分利用對方的優點。而這正是Microsoft .NET的CLR技術所要實現的目標之一,但今天對Python來說這一切已經成為現實。當然,缺乏商業支持是大多數開放源代碼技術都面臨的問題。對Python而言,一時也找不出個應景的法子。
然而,最近一些關注Python的歐洲公司新組成了一個商務團體,也許這一舉動標志著Python發展的一個嶄新階段(請參考Python商務論壇的網站)。缺乏預包裝的解決方案PHP 在企業軟件領域贏得了輝煌的成功,主要原因就在于其廣泛實用的產品門類,比如討論板、聊天服務器和分組日歷以及即時消息系統等。
相比之下,Python提 供的解決方案就少多了。Python語言的分發版中確實包含了一些擴展的類庫越來越多的程序員也在致力于開發等價PHP的Python工具。但是考慮到 市場的時間緊迫性,而且你所面臨的問題已經有現成的PHP解決方案可以對付,那么PHP自然會成為你的***。
大多數開發經理幾乎很少了解Python。在現代IT領域的高壓力環境下,項目管理人員缺乏對Python及其工具的了解、缺乏其軟件開發方面的知識自然成為Python獲得接受的死穴。
畢竟,CIO或者開發主管受到最終勝利完成開發任務的沉重壓力。在可能的收益卻缺乏具體和誘人的證據這一現實條件下, 大多數開發經理寧肯選擇他們知道的東西。所以很少有人了解Python也就不奇怪了。數據庫訪問層的局限性相比 現有的成熟技術,比如ODBC和JDBC,Python的數據庫訪問層看起來就過于原始了。
雖然這一方面也在發生變化,但是,開發部門需要平滑地接合現有 的復雜遺留數據,同時需要快速的SQL數據庫訪問,所有這一些使其在短時期內難以對Python表現出什么太大的興趣。
給Python應用程序創建圖形用戶界面未必復雜。Python分發版本隨帶的Tk就是Python開發人員最常用的工具。但是Tk就缺乏可訪問、易用 的GUI工具。剛啟動的PythonCard項目目前雖然還處于原型階段,但可能在將來填補這一鴻溝。
boa-constructor這種產品已經吸引了 某些Python程序員,但是用它來創建全功能的IDE確實太復雜了。相比GUI工具的缺乏更要命的是Python幾乎沒有支持團隊 開發的協議工具。Java在這些工具領域可謂相當豐富,至少和C++可比。在企業軟件開發市場上,這一缺陷簡直可視為致命的要害。
沒有這類工具要讓很多程序員共同開發同一 項目幾乎是不可能的。Python利用其模塊化和命名空間分析等特性減輕了這一方面的需求。這些特性可以讓多個程序員開發項目時不可能發生代碼沖突的情 況。但是,這同樣改變不了其協同性能缺乏的嚴重性。
Python有一個交互式的開發環境,因為Python是解釋運行,這大大節省了每次編譯的時間。Python語法簡單,且內置有幾種高級數據結構,如字 典、列表等,使得使用起來特別簡單,程序員一個下午就可學會,一般人員一周內也可掌握。
Python應用具有大部分面向對象語言的特征,可完全進行面向對象編 程。它可以在MS-DOS、Windows、Windows NT、Linux、Soloris、Amiga、BeOS、OS/2、VMS、QNX等多種OS上運行。
小結:
說也說了做也做了,是否在企業中嘗試或接受Python仍然是一個復雜的問題,具體問題具體分析。咱們把各種爭論先放一邊,至少可以得到下面的一些共識:
◆如果你已經擁有大量的PHP代碼或者PHP應用程序,那么遷移到Python不可行。
◆如果你的Java代碼基礎雄厚但你需要大量的小型應用程序、小程序和代碼接口,那么Python/Jython可能會為你節約大量開發時間。
◆如果你正好手下有一到兩個程序員工作比較清閑,那么我建議你不妨讓他們研究下Python看能不能在將來派上用場。
【編輯推薦】