对php能力的疑惑

那天看到banq说php活到今天不容易,说实话,我也赞同,主要是面向对象机制在里面太缺乏了。
而且缺乏好的framework(现在似乎有了zend framework)。而且我看过一些开源代码,写得真有点乱。

但是,类如facebook. xiaonei.等等不少顶级web 2.0都在php上面跑,就令我不明白了,谁能解释一下?

php写起来快啊,又不用重启服务器就能用,php当初抢到了网络这块市场,java的反应似乎有点慢,像windows抢到了OS市场一样,尽管抱怨多多还是在用,技术和宣传和市场都有各自的法则,不一定技术好就必须买账。

但是我的意思是,开发快好理解,用的人多好理解。但是事实证明,php的负载能力也不差,负载这么多用户照样转的挺好,我不知道php有没有分布式缓存什么的。它没有java那样的应用服务器,怎么搞的负载均衡这些呢

PHP内部有缓存的,而且也在不断加强,至少这方面在向java靠拢,java很多理念是领先的,SUN公司绝对是一个超前者,特别是计算即网络的概念,要不是微软捣蛋,早就实现了,现在由google来继续推动,而java在企业领域的实现由IBM/BEA/ORACLE/SAP在推动。

PHP现状就和delphi前几年在企业状态一样,delphi一直在跟Java,就差大概两年的拍子,2006年delphi大会我还记得去过,后来borland放弃delphi,它是出于商业利益。

而php就不会遇到这个现象,因为它诞生本就不是商业目的,所以不会象delphi那样突然倒下。

facebook那些现在所谓大网站前期都是一些学生玩玩的产物,php入门低,适合玩玩,玩玩往往产生big business,就这样,但是问题是:变成big business后,架构就要变,就是一个槛,看你能不能过了,MySpace伤筋动骨那么多次了就知道其中艰险。

所以,我们不能以僵化观点看问题,在互联网能够成长的关键是快速实现Idea,然后通过VC资金迅速占领市场,抢占制高点,这个过程技术都不是主要的。


那banq觉得php行吗?说实话,我一是觉得php面向对象支持一般,缺乏应用程序框架,二是觉得没有比较好的web层可视化开发工具(zend studio 算不错了,但是似乎web层也没可视化)。

总体来说,我没觉得php做web开发能快在哪,我用jsp直接写sql语句,或者在bean里面直接写sql,不见得比他慢。再者,现在有了jsf,java web可视化也快赶上asp.net了,我认为java反而应该比php开发速度快才对,不知道banq怎么看?

>我认为java反而应该比php开发速度快才对
是这样,如果架式 IDE 环境都准备好,java当然也很快,就象我在Jdon框架开发演示flash中那样,几步就搞定。

但是关键就是架式,php/perl能够直接安装了linux后就开打,和操作系统非常靠近,这点就是优势。

我一直说数据库死了,要有向上思维,但是这本身也是有缺点的,就是一个初学者,必须先爬过操作系统,再爬过数据库,能挺到最后,达到业务设计高层就没几个人了。这就是技术难度。

那雅虎 嘞?
新浪 嘞?
包括作为搜索引擎的Google、百度
他们不也有好多都是基于php+mysql去实现的吗?

雅虎好多都是基于php+mysql的架构实现的啊~~~~

老师,我有点不理解了

其实他们应该是各有各的优势吧
[该贴被netwr于2009-03-10 15:13修改过]

PHP之所以能生存下来,有很多原因的:
1. 诞生早。很多老牌大型网站都是用PHP写的,如果用其他语言重写,那成本可就高了
2. 学习门槛低。PHP主要还是过程语言,虽然有OO,但是不是真正意义比较全面的OO,所以学习起来肯定容易。另外,PHP只专注于WEB,所以它的WEB方面的函数极其丰富,在WEB领域很多东西处理起来就调用一两个函数就行,比Java等其他语言处理简单很多。ASP为啥没能和PHP一样生存下来,一个是ASP本事功能太弱,另外COM组件实在不是个简单的咚咚,所以,现在连微软自己都放弃它了。
3. 环境优势。PHP也是跨平台的,而且支持很多WEB服务器,最常用的组合当然是LAMP(Linux+Apahce+MySQL+PHP)组合,这让PHP的工作环境简洁而有效。
4. 专注性。PHP只专注于WEB领域,而且根据潮流不断充实自己,函数库越来越丰富,而且现在已经引入MVC概念有了成熟的开发框架,这样维护起来也就容易多了。
5. 扩展方便,性能极优。PHP本事是C写的,虽然是解释性语言,但是效率也是很高的,具体数据可以自己测试。现在大型网站采用PHP而很强壮并不一定是PHP自己的能力,是有好多C语言开发的针对Apache的一些负载均衡和Cache工具。
上面我总结的可能不是很全面,但是我们可以这样想,PHP简洁,学习周期断,专注于WEB,性能不是问题,这样的好东西为什么不用来建网站?Java的侧重点不在WEB,虽然J2EE是B/S架构,但是WEB不是它的核心。

ASP还大面积地活着呢,PHP为啥要死啊?引两篇新闻:

PHP 5.3 将加入闭包语法
http://tech.it168.com/a2009/0224/266/000000266565.shtml

PHP v5.2.9 RC 3发布
http://tech.it168.com/a2009/0225/266/000000266778.shtml