为什么开发者对PHP又爱又恨

jopen 10年前

  英文原文:Why developers love and hate PHP InfoWorld

  受人尊敬的服务器端脚本语言 PHP,因在 web 开发中的应用而知名。首次由 Rasmus Lerdorf 在 1995 年发布,受 WordPress 和 非死book 的影响而变化着,据 W3Techs 报道,82% 网站的服务器端编程语言是 PHP。这门语言在编程语言受欢迎程度排名上,稍微落后于 Java,在竞争对手 Tiobe 排行榜降到第六名。做为高性能的升级版本 PHP 7,预期在 2015 年发布。

  然而,就像任何语言,它也有支持者和反对者。下面解释了支持者声援 PHP、和持不同意见者痛批它的原因。

  好的:流行、入门快

  “PHP 是目前最流行的 web 开发语言,”PHP 工具提供商 Zend Technologies 公司【注1】CEO Andi Gutmans 说。在 New Media Campaings 供职的开发者 Josh Lockhart,也是一名作家,强调了 PHP 较小的学习曲线、易于部署和快速的开发迭代。Lockhart 说,“PHP 是最易理解的 web 开发语言之一,它被安装在大部分服务器上(包含大部分共享主机)。因为有优秀的在线文档和最新的在线资源,学习起来相对容易。”

  好的:好找工作

  “PHP 帮助你赚钱、找到一份在服务器端的工作”,Gutmans 说。在上周的 Dice.com 技术工作网站上的快速研究,找到了3,366 份 PHP 相关的工作。与 17,418 份 Java 工作相比显得很平淡,紧追 Perl(4,300)和 Python(5,429),但是高于 Ruby(2,973),甚至包括 Objective-C(985)。Lockhart 把 PHP 看做使用频率最高的语言之一,尽管它和 Ruby、Python、Go 和 Rust 之类的语言比起来,有些保守。

  好的:继续在发展

  这门语言自诩有闭包和命名空间之类的现代功能,还有性能和现代框架。正如 Gutmans 所指出的,“一些想离开的人在 PHP 能提供什么上面所受到的必要教育不多。”Lockhart 说,开发者正在意识到,PHP 有着强大的现代特性以及合适的面向对象编程模型。即将到来的版本7,在应用程序上提供了巨大的性能提升。Lockhart 指出,非死book 对 PHP 的增强,包含了 HHVM 虚拟机Hack 语言【注2】。

  坏的:抱怨设计、缺乏重心

  博主 Eevee 在 2012 年反对这门语言的公开信《PHP:不规则的糟糕设计》 中说道,“事实上 PHP 里的每个特性都多多少少是不规则的”。Eevee 不仅仅给这门语言差评,而且包括框架和生态系统。根据该博主说的,这门语言不是可预期的、一致的,而是充满了让人诧异和不一致的地方。在批评中,PHP 被称作不透明的,没有默认的堆栈跟踪,一直承受着复杂的、功能不佳的类型,“没有清晰的设计哲学。早期的 PHP 受到了 Perl 的激励;带有‘out’参数的庞大的 stdlib 来自于C;面向对象部分模仿着 C++ 和 Java 设计。”

  Lockhart 承认,Eevee 的反 PHP 言论有些“夸大了事实本质”。尽管是一名 PHP 支持者,Lockhart 在被问及时,还是足够和蔼地列出了批判:

  • 这门语言是不一致的,特别是函数名称和参数顺序。“这很容易修正,因此这不是个大问题。”
  • PHP 仍然有很多遗留包袱,像全局变量、魔术引用等等。“这些坏的实践正在缓慢地从语言中修剪,但是在它们消失之前,它们还会怂恿愚昧的开发者坚持不好的实践。”
  • PHP 不像其它语言那样专注,Lockhart 将其归咎于“受到委员会驱动的、长期都是一块一块的”。

  • 注1:Zend Technologies 公司是一家互联网基础架构软件公司。Zend Technologies 最为人们熟知的是它的两个奠基人:Andi Gutmans 和 Zeev Suraski,他们与其他以色列程序员一起,发展了由 Rasmus Lerdorf 开创的 PHP 语言。http://zh.wikipedia.org/wiki/Zend_Technologies
  • 注2:Hack,一种开源脚本语言,运行在 HHVM 虚拟机上,主要开发者为 非死book。在 2014 年 3 月 20 日正式发布。在发布前,非死book 已经在它的网站上广泛使用及测试。http://zh.wikipedia.org/wiki/Hack_(%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80)

  — END —

  译文: 《为什么开发者对 PHP 又爱又恨 》 腊八粥