IT技术博客大学习 共学习 共进步

PHP很烂?我的看法

阮一峰的网络日志 2010-01-11 12:21:14 浏览 4,503 次

    今天,我在玩聚上看到一篇台湾程序员的文章《PHP很烂》

    我也想谈谈,我对这个问题的看法。错误肤浅之处,希望大家批评指正。

    ======================

    

    PHP很烂吗?

    作为一种计算机语言,它确实有很多缺点,而且是重大缺点。但是我认为,PHP目前最大的问题,并不在于语言本身,而是它的发展方向出现了偏差。

    PHP的开发团队,好像正在致力于将它从“个人工具”升级为“企业工具”,导致它的处境很尴尬。说它是个人工具吧,却有很多复杂的高级语言特性;说它是企业工具吧,运行效率却不高。结果到头来,不仅“易学易用”的特色丢掉了,而且由于性能问题,依然很难在大型项目中推广。

    在我看来,问题出在PHP 4到PHP 5的那一次升级。PHP 4是一种个人工具,很像shell语言的再包装,属于过程式编程,确实易学易用,是个人网站的最合适开发语言。但是,PHP 5就完全不同了,大大增强了面向对象编程(OOP)功能,到了5.3版本,更是添加了名称空间(namespace),甚至连lambda函数都支持了。看上去,PHP的设计者似乎想把这种语言变成下一个Java。

    这样做的结果,就是PHP不再是一种容易学习的语言了。初学者必须像学习Java那样,记住那些繁琐的OOP语法,才能用好PHP 5。更糟的是,由于语言变得复杂,带来解释器的性能下降。我记得看过一篇文章,里面说同样配置的硬件,PHP 5.0比PHP 4.3慢30%,要知道作为一种脚本语言,其实PHP 4的速度就已经很慢了。

    这就是目前PHP的问题:作为一种个人工具,它的优势正在丧失;作为一种企业工具,它依然不行。

    另一方面,由于语法越来越复杂,而PHP是一种书写很自由的语言,结果就导致很容易写出混乱得可怕的代码。正如XML格式创造者之一的Tim Bray所说:

“我很肯定,你能够用PHP写出干净、易读、可维护的代码。但是显然,你稍一放松就做不到这一点了。”

    我觉得,现在可能是PHP代码分叉(fork)的时候了。未来的PHP最好有两个版本:一个版本面向企业级应用,支持高级的OOP功能,着眼代码的可维护性和可协作性;另一个版本面向个人应用,强调易学易用,着眼快速和高效的网站开发。

建议继续学习

  1. 每个程序员都应该学习使用Python或Ruby (阅读 17,742)
  2. 敲击最多的键和编程语言语法 (阅读 7,305)
  3. 为什么Lisp语言如此先进?(译文) (阅读 6,404)
  4. 编程语言的选择很重要 (阅读 5,124)
  5. 编程语言的可读性 (阅读 4,965)
  6. php语言漫谈 (阅读 4,186)
  7. 几种计算机语言的评价(修订版) (阅读 4,142)
  8. 分清“语言/规范”以及“平台/实现”,以及跨平台.NET开发 (阅读 4,144)
  9. 为什么我喜欢Lisp语言 (阅读 3,923)
  10. 再谈非主流工业语言 (阅读 3,745)