我和python有个约会

来源:互联网 发布:阿里云svn服务器配置 编辑:程序博客网 时间:2024/04/28 18:31

       第一次接触到python是在公司的一个内部会议上,一个技术牛人在发表对perl语言的灵活性批判时提出的。他的主张是公司中的所有perl脚本都应该转换成python脚本,以便于维护和扩展。由于当时会议上的很多人对python这门语言都很陌生,甚至有人根本就没有听说过,所以这个建议并没有得到广泛的支持。但是在会议后,我出于这个技术牛人的尊敬和对他的了解,我相信python必定有它优秀的一面,方可让我的这位牛人这么钟情于它。在空闲时间我开始接触了这门在中国还没有兴起的语言。后来的实践告诉我,牛人的推荐没有错,我也开始变成了python的忠实拥趸。

其实python的历史也有20多年了。在国外这么语言发展的势头还是挺不错的,像很多IT巨头都在用它。最著名应该就是google了。说到python,人们都喜欢用它和perl做比较。确实这两门语言都是脚本语言中的佼佼者,他们有许多相同的之处,比如说他们的扩展性都特别强,各自的社区都非常活跃,有无数的扩展包可以应用。他们都是胶水语言都可以把各种扩展包都拼在一起,组成一个大型应用。但是python和perl有一个非常大的不同,就是这两种语言的设计哲学不一样。perl追求的是一件事情可以用很多种方法去完成而python追求的是一件事情最好用一种的方法完成这种哲学上的差别导致了两种矛盾的流派,有人认为正是perl这种灵活性,把perl带到了一种很高的高度。用perl编写的脚本不需要考虑很多的格式规范,只要最后的结果令人满意就行了。这样做确实方便。但是也出现了一种可怕的问题。脚本的可读性下降了。我常看到公司里有人一边看着perl脚本一边在抱怨他的前任者是一个怎样的天马行空的人。怎能会有这么多的变换。所以说用perl来编写项目的时,如果没有一开始约法三章,那么基本上这个项目的二次开发就玩完了(Mozilla公司有一个开源缺陷管理软件叫Bugzilla,它是用perl写的,他的读写规范很不错。有空可以看看)

而python的编写规范就好多了。它用缩进来控制格式(这是python独创的),有人认为这种方式非常怪,我的一个同事就是因为受不了python的这种编写方式而最后放弃python的。我倒是非常喜欢这种方式。因为我感觉用python写出来的程序和写文章没有多大区别。非常干净,可读性不用说了,肯定棒。其实python除了这点外还有一点非常棒,还有很多特性非常好,比如python安装扩展包非常方便。只要有easy_install或者pip工具就可以了(在很多linux版本中easy_install是预安装的),我感觉python的扩展包的安装方式比perl的CPAN还要方便。

还有一点就是python脚本的调试功能非常好,python有一个扩展包叫ipython,这个工具在调试python时是贼厉害的。谁用谁知道。

我感觉如果你是系统管理员的话,学习python对他的业务水平有非常大的帮助,系统管理员一般对bash shell了解的比较深,但是如果你学习了python,你会发现python也能完成bash shell能完成的工作,但是反过来不一定行。

最后我想说的这篇文章是为了着重突出python的好并没有贬低perl的意思(其实在工作中我也时常用perl来干活,呵呵)。如果你是一个敢于尝试的人,不妨用用python看看,你会发现python确实不错。这门语言有很大的发展空间。会给你的工作带来方便。

原创粉丝点击