对于脚本解释语言Python的兴趣,动力源自于对喜欢的书评站点豆瓣(douban.com)的技术探究。站长阿北在一篇帖子中提到“豆瓣全部使用Python开发,网站后台的搜索引擎基于Twisted,GUI基于Quixote”,而且更令我惊讶的是,承载豆瓣每天8万独立IP和50万页面请求的竟只是一台DIY的AMD双核1U服务器。而且我每次访问,感觉服务器相应速度相当快。于是不得不对Python在Web开发中的表现大为赞叹。
当然Python的应用不仅限于此,在Python官方站点上列出的应用可谓包罗万象,而且NASA和Google也是Python的用户之一。其实早就关注Python的发展了,只是由于惰性一直没有入手学习。最近花了一个下午的时间把Pyhton语法通了一遍,用Eclipse的Pydev插件调试了例子代码,感觉使用Python确实可以享受到敏捷的开发效率。Python开发的模块和内置的元组、字典等数据结构使用起来很便捷。并且如果需要,关键算法可以使用纯C来实现。
比较来说,在Web应用方面,Java的开发效率确实不敢恭维,这一点是早有体会。在桌面开发上,国内Java框架研究先驱站JavaEye的站长Robbin,一年前就断言Java桌面开发已死,而Python的桌面应用则前途不可限量。这个观点不敢苟同,毕竟自己还是很喜欢以Eclipse为代表的SWT/JFace的桌面表现方式。但不得不赞一下类似Boa这样的Python IDE环境的优美简洁。
值得关注的Python开源Web项目是Zope和Django,但是对Zope的表现还不太信任,原因之一就是集成度太高,整个Zope结构大致相当于PHP+Apache+MySQL的集合,耦合度太高也会为拓展性及二次开发带来不便。Django准备仔细研究一下,争取做一个演示站点出来。类似chicagocrime.org这样的Python+Django+Google Map这样紧密结合实际的应用今后会大有用武之地。
可以参考的Python GIS桌面项目,感觉比较好的是陈老师推荐的mezoGIS,一个月前德国人刚启动的项目就已经开始研究了,不得不佩服一下。
需要开始用Python吗?今后应该会有涉及的,但逐渐发现越学越杂,反而都不能深入。那就这样吧,慢慢会好的。
支持一个!