to fnet:
上面说的“重用”,是指多种客户端和异构系统重用。
说明白点,就是在体系内(比如说Java、.NET)C/S、B/S甚至无线智能终端重用;体系外各种支持WS的技术能够重用。

这种大而全的重用才是软件发展的方向,目前Java和.NET对此都支持。
Java由于一贯以来对OO和组件化的坚定态度,令其出类拔萃。
.NET的骑墙策略导致多数.NET系统不是OO、组件化的系统,等客户的需要上来了,要求多种客户端和异构集成的时候,就重写吧!

这个就是更高的层次了,在这个层次上,java明显有很大的优势,因为支持的商业公司很多,各公司之间有接口整合。


而php来说,虽然有很多大公司也支持,比如IBM,orcale,但与java比逊色多了,大公司虽然支持,但是明显它不是重点,主要因为开源免费,php无法为商业公司赚取大量的利润。并且,语言本生的特点也注定了php不会被大公司商业化。

总体来说,php和java不是一个层面上的东西,java比php高一个台阶,但是因为开发应用简单廉价正如楼主所说,php,java一个都少不了。

偶现在没日没夜的学习jee

Java架构相比ROR/PHP优点是:
1. 无论PHP或ROR,说到底还是脱离不了数据库这个母脐,依赖数据库;而JavaEE本身作为一个厚实的中间件,已经摆脱了数据库依赖,Java通过JTA和Cache将数据库降为操作系统级别的技术,JavaEE通过缓存或分布式缓存获取几十倍的性能,而ROR至今还在为正常的性能指标而苦恼。

2.Java这个架构是完全分层的,拥有无比健壮的鲁壮性,通过反射拥有动态语言的特性,又具备静态语言的优点;而ROR这样动态语言,如果在项目管理中不狠抓单元测试,那么代码拿到客户现场就无法运行的可能性很大,但是,Java中单元测试属于锦上添花,试想:将软件生命寄托于项目管理,这不是又回到10年前的环境?

3.拥有最好的可伸缩性:可以无缝过渡到EJB等分布式事务集群环境。组成一个大型系统。无需修改软件代码。JavaEE通过分布式事务和集群实现7x24小时不间断运行,就是数据库当机都不会对系统产生影响,因为大部分数据都被load到几百台中间服务器内存中了。
数据库时代的终结:
http://www.jdon.com/artichect/dbover.htm