Java与PHP之争

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

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 的了解。

参考:What is Java Platform, Enterprise Edition (Java EE)? - Definition from WhatIs.com

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值