虽然人们经常把Python同Perl相比较,把它们看作一种专门应用于Internet的脚本语言,然而,Python已确实在大规模的软件开发领域占据了自己的一席之地。这种脚本编程语言具有以下显著特点:
Python整合了各种模块、异常、动态输入、高级动态数据类型和类等概念。它同多种系统函数和系统库乃至各类Windows系统建立了接口。
如果说Python并不一定能渗透到任何计算领域的话,至少在企业开发这一行它的处境就是这样。在企业开发领域, Python还被当成一种可以替换Perl的脚本语言。本文就对Python构造企业级应用这一问题做简短阐述。
Python语言的某些特点使其成为企业应用的合理选择:
以上这些特性非常有利于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确实引入了相当的系统负荷,从而在开发期间降低了系统的性能,但是采用某些技术可以有效地把部署网站时产生的问题最小化。
在考虑企业中的Python应用时,有一点往往被人们所忽略了,这就是Python的变种Jython。Jython完全用Java语言编写,实现快速地开发和应用程序测试,以远低于Java编辑-编译-测试的开发时间提升Java类库的运用。Jython还紧凑地集成了Python和Java的代码,令两者都可以充分利用对方的优点。而这正是Microsoft
.NET的CLR技术所要实现的目标之一,但今天对Python来说这一切已经成为现实。