Python是軟件開發領域一朵誘人的奇葩:人們經常把Python看作是一種起到縫合作用的嚴格腳本語言,不過卻很少有人意識到Python已經足夠強大到應用于工業級軟件開發領域。Python的年歲比Java老,到現在,這種語言已經發展出了規模雖然不大但仍然在成長中的自描述企業應用Pythonistas。
雖然人們經常把Python同Perl相比較,把它們看作一種專門應用于Internet的腳本語言,然而,Python已確實在大規模的軟件開發領域占據了自己的一席之地。這種腳本編程語言具有以下顯著特點:
*面向對象
*解釋語言
*交互式
*模塊化
*動態性
*高級語言
*可移植
*可用C和C++擴展
Python整合了各種模塊、異常、動態輸入、高級動態數據類型和類等概念。它同多種系統函數和系統庫乃至各類Windows系統建立了接口。
如果說Python并不一定能滲透到任何計算領域的話,至少在企業開發這一行它的處境就是這樣。在企業開發領域,Python還被當成一種可以替換Perl的腳本語言。本文就對Python構造企業級應用這一問題做簡短闡述。
優點
Python語言的某些特點使其成為企業應用的合理選擇:
*免費可用(像Perl一樣,Python也是開放源代碼軟件)。
*穩定(Python目前已發布到2.2版,我剛才已經提到,它的年頭比Java還老)。
*良好地支持對象、模塊和其他可重用機制。
*采用C和Java語言的集成方便性和擴展性。
以上這些特性非常有利于Python在企業中的應用,不過,Python還具有一些適合企業應用但卻不太令人注意的其他合理因素。
開發和維護的成本節約
IT部分通常要完成的任務相當繁重但支撐這些工作的資源卻很少,這已經成為公開的秘密。任何承諾提高編碼效率、降低軟件總成本的IT解決方案都應該進行周到的考慮。Python所具有的一個顯著優勢就是可以在企業的軟件創建和維護階段節約大量資金,而這兩個階段的軟件成本占到了軟件整個生命周期中總成本的50%到95%。
Python清晰可讀的語法使得軟件代碼具有異乎尋常的易讀性,甚至對那些不是最初接觸和開發原始項目的程序員都能具有這樣的強烈感覺。雖然某些程序員反對在Python代碼中大量使用空格,不過,幾乎人人都承認Python代碼的可讀性遠勝于C或者Java,后兩者都采用了專門的字符標記代碼塊結構、循環、函數以及其他編程結構的開始和結束。提倡Python的人還宣稱,采用這些字符可能會產生顯著的編程風格差異,使得那些負責維護代碼的人遭遇代碼可讀性方面的困難。
Python明晰的語法使其成為一種學習曲線平和的編程語言。有經驗的程序員甚至可能在一天之內就掌握Python的基礎知識,至多不過一周作用就可以上手,而編程語言的專家則肯定會比他掌握C、C++、Java甚至Perl要快很多。
Python因其語法的明晰而獲得的最大好處或許該算是開發時間的大大降低了。一名從事企業級應用程序開發工作的開發人員告訴我,他所在單位的開發時間因為Python的采用而大大節約,同時卻并沒有給軟件性能帶來任何負面影響,他說:“就我們的業務而言,快速地開發出新產品比開發出性能驚人的軟件產品要重要得多,開發時間相比軟件的優化要貴得多(以每小時計算)。
對開發速度采用何種評價標準一直是個很難確定的問題,不過通常情況下,普遍認為開發Python應用程序的速度大約是用Java開發同類應用程序速度的10倍。要是相比C/C++節約的時間就更多了。
內容管理框架
用Python創建的Zope是開放源代碼領域使用最廣泛和最容易理解的內容管理框架。這種工具可以讓了解Python的程序員以相比JSP/ASP更少的時間來創建和部署具有高度交互性的網站,在這種框架下,網站屬主可以非常輕松地修改網站的內容而無須程序員的介入。
Zope投入實用已經有若干年的時間了,目前,特別在歐洲地區已經獲得了普遍的應用。Zope在美國也贏得了廣泛的歡迎,目前對Zope的開發主要集中于簡化開發過程和進一步將功能同內容的表示相分離,從而再度增加了Zope的普及率,同Python一樣Zope也是開放源代碼軟件。
Zope確實引入了相當的系統負荷,從而在開發期間降低了系統的性能,但是采用某些技術可以有效地把部署網站時產生的問題最小化。
Jython
在考慮企業中的Python應用時,有一點往往被人們所忽略了,這就是Python的變種Jython。Jython完全用Java語言編寫,實現快速地開發和應用程序測試,以遠低于Java編輯-編譯-測試的開發時間提升Java類庫的運用。Jython還緊湊地集成了Python和Java的代碼,令兩者都可以充分利用對方的優點。而這正是Microsoft.NET的CLR技術所要實現的目標之一,但今天對Python來說這一切已經成為現實。
缺點
顯然,Python的企業應用也應該嚴肅對待反對方的意見。反對Python作為企業級編程可行語言的主要觀點如下:
*相比其他編程語言,比如Java,Python的開發人員少很多。
*缺乏真正的多處理器支持。
*缺乏商業支持。
*軟件性能(不過各種評測都反復表明Python在大多數應用中堪與Java媲美)。
當然,缺乏商業支持是大多數開放源代碼技術都面臨的問題。對Python而言,一時也找不出個應景的法子。然而,最近一些關注Python的歐洲公司新組成了一個商務團體,也許這一舉動標志著Python發展的一個嶄新階段(請參考Python商務論壇的網站)。
缺乏預包裝的解決方案
PHP在企業軟件領域贏得了輝煌的成功,主要原因就在于其廣泛實用的產品門類,比如討論板、聊天服務器和分組日歷以及即時消息系統等。相比之下,Python提供的解決方案就少多了。Python語言的分發版中確實包含了一些擴展的類庫,越來越多的程序員也在致力于開發等價PHP的Python工具,但是考慮到市場的時間緊迫性,而且你所面臨的問題已經有現成的PHP解決方案可以對付,那么PHP自然會成為你的首選。
以上內容為大家介紹了Python企業應用的優缺點,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。