多国外PHP开发者放弃PHP而改用Python

鉴客
 鉴客
发布于 2010年06月11日
收藏 3

编者:这是一名从事11年PHP开发的资深开发者讲述自己为什么要转向 Python 的原因,可参考参考。

借助本文,作者与其说是解释了他做出这种选择的原因,不如说是他对 PHP和Python两种语言的性能进行了比较。以下是作者的原文翻译:

我之所以放弃PHP,原因首先是语言。PHP实际上不是一种语言,而是一种巨大的插件结构,以一种高层的形式来展示低层的库。而大部分开发者使 用的 语言实际上是对C功能 (curl, mysql, gd, etc.)的包装,通常情况下它们的库展示得很简单。因而这导致了PHP的API不一致。

PHP语言的第二个问题是语言的管理问题。PHP语言实际上是由委员会来设计的,而且没有人来制定任何共识性的标准。PEAR有自己的标准,PHP有自己 的标准,这导致SPL classes更具Java风格,而PEAR却截然不同。

从事PHP开发11年来,我认识了很多PHP领域的专家级开发者,它们对PHP也有很多看法。除了上文提到的委员会问题以及标准混乱问题之外,由于PHP 的使用范围非常广,向后的不兼容对代码造成了很大的破坏。

还要提到的一点是PHP缺乏很多现代语言的特性。现在再来说说Python:

Python语言的创建方法几乎与PHP的完全相反。首先,Python是由Benevolent Dictator和Guido van Rossum领导的,语言的开发由单一的人员主导,因此它的开发、管理以及长期运营会保持很好的连续性。Guido和Python的核心开发者通过PEP 创建标准,而且通过公共接口展示标准是如何创建的。而且,Guido如果想到的语言特性不够好,也不会出现在语言层中(如没有++运算符,而且比较符中没 有分配)。

延续性的特点也延伸到了整个Python社区,所以你很难发现不同项目中的Python截然不同。

我最喜欢的Python的一个特点就是它的清晰。当打开Python中的一个文件的时候,我会清楚地知道里面大概有什么样子的代码,联想到很多次我被 PHP的这一点搞得焦头烂额,我觉得这个特性非常有用。

总之,Python的系统级特性非常不错。

Python另外一个很棒的特性是直白性。需要namespace(命名空间)?文件的名字就是命名空间;需要模块?只需要用一个__init__.py 文件代替;需要重命名功能?只需要new_func = old_func。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:多国外PHP开发者放弃PHP而改用Python
加载中

最新评论(30

王海峰
王海峰

引用来自“renwofei423”的评论

楼上那个是版本1,这里有版本2: http://djangobook.py3k.cn/2.0/

好东西。。
直接看英文的虽然能看懂,效率不高。。
程序员乙
程序员乙
本来还想学学php的哪
现在看来还是研究一下怎么写编译器比较好,不会感觉老被牵着
divl
divl
还是英语的好啊
renwofei423
renwofei423
ruby 强多了谈不上吧。douban就是先ruby后放弃了改用的python.
"杨勃认为,由于是小团队,工作模式就不能是一个经理带一帮人,而是大家都需要参与编程。而且,对综合学习能力的要求比较高。“因为技术变化很快,现在对任何技术再熟悉,经验再多,过几个月可能又出现了新的技术,因此最重要的是要能够跟踪最新的知识。而且由于最新的Web2.0模式和思想都是从国外发起的,所以程序员要具有在英文环境中直接沟通的能力,能够直接参与到国外的开源项目中,而不是看已经翻译为中文的文档。”杨勃表示,自己学习Python 也是随豆瓣网开始的。“Python很适合敏捷开发,最初的时候曾经尝试过使用Ruby,后来由于豆瓣网需要很多后台的程序,Python更适合编写一些后台模型程序,最终前台也统一为一种语言。”杨勃之前对MySQL了解很少,但在做豆瓣网的过程中,很快将知识弥补上来。“现在我们有几个数据库都可以做同步,有些内容我们还向开源社区进行了回馈。”
w99w
w99w
呵呵,用php有好处
jazz
jazz
要说语言不好,ruby 比 python 强多了,这篇文章好像是在 精通python 编程书的前言,有看过,尽信书不如没有书呀
MrMign
MrMign

引用来自“renwofei423”的评论

引用来自“王海峰”的评论

呵呵,正在学习django

我也是在学 准备用django自己动手做个网站 呵呵

那是什么东东啊?做什么的?
返回顶部
顶部