从wiki.donew的php条目看到这样一篇文章:
http://www2.uuzone.com/blog/555080192/34691.htm
http://www2.uuzone.com/app/trackBack.do?type=blog&trackBackID=34691
大致批评了php不适合于大型开发的理由。
总结的这些点,确实很有道理,如果能够解决,确实能够使得php成为更为强大的开发工具。但是工具只是工具,php的骨子里是一个开源作品,透着开源的各种风骨。能够坚定的站稳开源阵营的技术人员都是纯粹的技术人员,他们向往着对一切的控制感,以及在现实生活中稀缺的民主自由之风。开源的php能够为他们提供这种感觉,这种感觉恐怕是某些大公司大组织一言堂决定的伟大框架所不能体现的。
从作者向往的“强大”来说,c语言确实不是一种很好的开发工具,但不可否认它是一种伟大的语言。c语言有一种基本的文化理念:充分信任c程序员是专业的、恪守职业道德的技术人员,而不是混饭吃的技术流氓。所以它充分灵活,把很多责任都交给了程序员。这使我感觉到了被尊重。我早年写过vb6,最终放弃的原因一方面是功能所限,另一方面人文上的原因就是自己体会到的被当作低能儿玩弄的感觉。c++是一门伟大的语言,伟大之处在于它并没有企图控制程序员,而是提供给了程序员多种选择(当然这只是一种理念,不少脚本语言的理念是完成一件事情只有一种方法,并避免功能正交,我记得是Ruby?)。如果像不少文章界定的那样c++是一种面向对象的语言的话,那真是屈才了。c++语言本身并没有暗示程序员应该采取何种模式来开发,事实上我们看到,过程的、OO的、GP的模式都在C++身上放出光彩。不控制,不暗示,随需应变,正是C++的伟大之处。
对于php来说也是这样。具体到文中总结的几点,根据理念不同,我想大部分都不一定非要是php设计者的责任(比如命名规范这样的东西,但没有成型框架确实是php一个很大的硬伤,不过貌似c++也是很晚才有官方库?)。就好像现在我们没人批评脚本语言不进行类型检查了,设计目标不同而已。计算机科学本来就是大花园,而不仅仅是几个公司几种语言。有一种说法,后世的任何语言都是在fortran和lisp之间寻找某种平衡点。如果我们从事开发,只看到4、5个公司,3、4种语言,陷入订单、被炒作的概念、糊弄客户的泥潭,就一辈子只能是工匠,而不是技师。
php的持续壮大、进军企业开发市场都是我们乐于见到的。只是希望为了市场,不要丢掉了骨子里那种崇尚自由、最终程序员的灵魂。