今天在网上看到一篇帖子《jsp的优劣势与php的比较》,篇幅很长,然而一派胡言,看到最后都快气乐了。看到最后发现是转载的,而且还注明了原贴出处,遂一路找过来,原来就是CSDN博客。
饭可以乱吃,但话不能乱说,所以果断要喷回去。但我不知道这个倒霉博客为什么不能回复,所以只好先写篇文章,把我要喷的内容按一二三四条理清晰的写下来,以防有更多的人在百度上搜索,然而只看到那么一通长篇大论的错误观点。
原文地址:http://blog.csdn.net/berlor/article/details/43566231
================= 我要说的话 =================
写的真详细,然而一派胡言,所以建议你尽早把这种博人眼球的文章删掉吧,不要留着误导人了。
你这就好比一个南方人,因为只吃过南方菜,所以就说:东北菜都是垃圾,东北居然还有酸菜,东北菜都是臭的。
很可笑不是吗?
不是很懂你为什么要用PHP3做例子,15年PHP已经有5.0版本了好吗?还拿3.0版本说事,是见识浅薄还是居心叵测?我不太清楚。但是我很清楚的是,你写这些东西的时候很可能还没脑子。
同情残疾人。
我现在对你提出的几个PHP的“劣势”,提出一点不同意见,希望你看完不要气成烈士。
一、性能低
PHP现在更新到7.x版本了,在5.0时代性能就已经很不错了,与jsp不相上下,7.x更是性能翻了两倍。而且现在PHP已经可以使用严格模式定义变量类型了,削弱了弱类型的特点,离JIT就更近一步,这样的解释型语言,慢在哪里?
二、架构问题
PHP与Java作为不同的编程语言,均可用于开发面向过程/面向对象的程序。以我个人拙见,面向过程就不要谈什么架构了,所以我们现在只讨论面向对象。
代码是死的,人是活的,所以代码的好坏,架构的优劣,起决定性作用的是人。你找一个十年的Java程序员,和一个两年的PHP程序员,自己写框架做架构,自然是Java程序架构的好。
你在这个问题里极力标榜Java的MVC设计模式,我告诉你,这不是语言特性,这是代码的具体组织形式。Java有Struts、Spring,PHP有Yii、ThinkPHP、Laravel。同样都是MVC,为什么对PHP的避而不谈?您是选择性失忆,还是间歇性失智?
三、连接数据库
Java有JDBC,PHP有PDO,都是高度抽象,简单易用、便于迁移的接口,Java何来优势?
四、安全性
Java看不到源码?对,class文件的确看不到,PHP的phar文件也看不到~ 但是你给不给反向工程留点面子?知不知道它是干嘛的?都是可以反编译的东西,别觉得自己就高人一等。你给我个.class,我分分钟搞出.java。
五、运行环境、部署速度
虽然PHP是解释型语言,理论上要比编译型的慢,但你经历过实际项目没?搞过敏捷开发没?运营过高访问量网站没?
我目睹过的,我之前公司的网站(电商平台),那个写jsp的姑娘一出错啊,就要改代码,编译,上传,时不时还要重启一下她的汤姆猫,要不然不生效。嗯,愁眉苦脸的。
我呢?改,上传,完事了。
编程的目的是解决实际生活中的问题,debug的本质是解决工作流程中的问题。所以用事实说话,见效快的,就是好的。
该说明的,我都说完了。最后,我再重申一下我的立场:代码无罪,责任在人。我爱PHP,因为它代表强大的生产力;我更爱Java,它更趋近于一种理念,一种哲学。在不同的领域,它们都是最棒的。
不要因为你只擅长一种语言,就去贬低另一种语言。存在即有意义,多把时间花在找优点上,少浪费在找缺点上。
任何时候只试着用一种“你认为好的”语言去解决所有问题,多是因为:你只有一把锤子,所以看什么都像钉子。