Java与PHP之争

身边总是听到很多人在跟我说Java比PHP更好,也确实有很多大公司在使用Java,例如淘宝、京东,那么当我反问他们原因是什么的时候,他们总是支支吾吾,或者一言以蔽之,我想研究学问不能人云亦云,要自己搞清楚才好。

1.框架。

PHP有各种框架:CakePHP、Yii、CI、……,但其实每种框架都还没有居于统治地位。

Java,据我现在的了解,只有两套框架,J2EE重量级企业架构(EJB模式,有专门的应用服务器)和J2EE轻量级(原本是SSH,现在演变为SpringMVC,应用服务器有Tomcat等,但是功能较弱,还有goldfish等,现在也有很多替代tomcat的轻量级服务器)。

WebSphere由IBM推出、WebLogic由BEA推出,都是很稳定,经过验证的大型企业级中间件。

2.包管理。

Java有官方认可的工具包。

PHP有PECL和PEAR。

这点基本打平。

3.对于J2EE的了解。

参考:http://searchsoa.techtarget.com/definition/J2EE

J2EE (Java 2 Platform, Enterprise Edition) is a Java platform designed for the mainframe-scale computing typical of large enterprises. Sun Microsystems (together with industry partners such as IBM) designed J2EE to simplify application development in a thin clienttiered environment. J2EE simplifies application development and decreases the need for programming and programmer training by creating standardized, reusable modular components and by enabling the tier to handle many aspects of programming automatically.

也可以参考

https://zh.wikipedia.org/wiki/Java_EE,或者https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition,但是明显,英文版的讲解的更加完整和细致(维基百科的中文版是中国人自己翻译的,为了应付中国人?)。

这样看来,正如之前所理解的,Java后面有Sun、IBM、BEA这样的大公司在推进,有一套完善的生态环境,所以还是要比PHP背景深厚。

4.PHP与Java的安全性讨论

参考:https://www.youtube.com/watch?v=B4klp5EKakk

PHP全局变量会引入漏洞。

PHP编码不统一,函数参数顺序不统一等等。

PHP对于跨站攻击和SQL注入的防范较弱。

PHP是为了Web Server来设计的,更加开放和个性化一些;而Java是为了企业级应用设计的,更加安全,规矩更多。

PHP是弱类型的,而Java是强类型的。

PHP的类能力相对较弱,而Java从出生就是面向对象的。

PHP的单元自测的实现不如Java。

Java有太多工具包来帮助开发。

PHP成名框架的企业级设计范式都是参考Java的规范,例如过滤器、拦截器,在CakePHP上才有了体现,ORM现在在PHP框架中才有了体现。

Java的规范多,需要遵守的规矩多,但这也带来了足够的安全性。

总体感觉Java确实要比PHP更加安全。

5.收费与开源

PHP是开源的,PHP下的各种框架也都是开源的。

JavaEE有不开源的,也有开源的。

6.学习和开发成本

因为java从出生就是针对企业级应用而来,又发展了这么多年,所以在这块逐步形成了很多的规则要去遵守,这势必会造成很大的学习成本,不过,一旦掌握了这些规则,开发效率是会很高的,很多功能,不需要自己再去发明轮子了。


posted on 2015-12-28 20:21  chaiyu2002  阅读(126)  评论(0编辑  收藏  举报

导航