博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 比 Java 的开发效率高在哪?
阅读量:5880 次
发布时间:2019-06-19

本文共 1972 字,大约阅读时间需要 6 分钟。

PHP 比 Java 的开发效率高在哪?

现在很多互联网应用都是php开发的,在很多人的观念里已经把php与java分到了两个开发领域,php是互联网,java是企业应用。 都说php的开发效率高,更适合互联网快速发布的特点,但我一直 没感觉到php的开发效率比java到底高在哪,请说的具体一点,细节一点。

 

PHP和MySQL是绝配,一开始就作为PHP开发的亮点而存在。PHP操作MySQL的方便性其他语言比不了。

PHP跟Apache等服务器亦是绝配,一等支持。代码文件往服务器上一丢,爱咋整咋整。

PHP的Array堪称一绝,数组、关联数组一网打尽,而且提取、存入等各种功能,甚至你想不到的一些方便功能,PHP都给你了。

PHP为Web而生,Web开发需要的什么协议相关、请求响应、加密处理、各种流,都内置了,琳琅满目受用一生。

社区资源丰富,资料唾手可得。

动态语言、弱类型的灵活度,加上PHP后来增强的类型提示,让你随心所欲。

以上还没提到Laravel,如果你用上Laravel、Yii啥的框架,估计会乐不思蜀

最后让PHP黑继续顽固下去吧,这么好的语言/工具是给我等享用的。其实PHP的主要矛盾不是PHP黑嘴里说的那么不堪,而是入点流的PHP开发者供不应求。

你说反了。

PHP适合非核心系统,玩票小系统,如果要要应用到大系统就要做很多改造,所以小玩家比较多。

JAVA适合小系统,中型系统和大系统,结构整齐,缺点是代码看起来死板,看起来复杂。

php程序员往往都有半吊子的前端技能,所以理论上来说是全栈工程师的支柱,也代表着老板可以用一个人做两个人的活。

看起来是缩减了成本。

PHP高就高在它脏。

所以你随便糊一个什么东西基本上满足需求,写再乱的代码只要能运行起来就有好。

但是反过来如果想要他变得干净就要费劲了:一大堆的convention,各种黑科技,没错虽然psr标准化了但是autoload这东西真的就是在糊啊。

很多人会喷C++程序员都习惯随手造轮子,PHP可是把随手Hack的轮子都直接当成了标准来处理了的。

这么脏确实方便,就像一些答案里说的,随手就能登上机器改代码等等。可是,这样搞对Ops和质量保证很不友好啊。比如你在生产机器上fix了一个bug,在什么情况下把它合并到主分支呢?难道还要在生产机器上配置一套vcs客户端?

再者,业务复杂和高吞吐量的情况下,PHP这些特色都没了:要么没有一个强有力的类型系统做保障结果自身写成了一坨屎,要么滥用动态特性造成代码极度不可读。所以很有可能的原因是,团队的核心成员离职以后这个项目基本就废了,不得不再挖新坑。更神奇的是PHP中这种能够诡异地实现各种需求的特性还真是非常的多,更加剧了这一问题。

第三点就是,PHP是很multi-paradigm的,而且因为一些设计的缺陷导致项目里面不得不交叉混用各种不同的paradigm。加之语言版本的混乱,配置的复杂(当然现在你可以php -S了),以及各种安全性和一些隐晦的缺陷,这些都是影响项目稳定性的致命伤害:因为这些原因可能会有一大部分人不得不在不同机器/操作系统上保留不同的配置,或者是固守某个特定的版本,或者坚持使用自己hack出来的工具。

当然其实上面那些缺陷,除了作为动态语言必有的之外,Java里也多少都存在(特别是对于初学者,或者至今还在使用一些老旧技术栈的人)。但关键是,首先Java自身设计上还是有一定的紧凑和保守(所谓的歧视程序员智商),对于团队协作来说非常的重要,毕竟不是每个人都是大牛。其次Java有非常完善的标准和工具集,自动化程度非常的高,这就避免了需要程序员“ssh到服务器”这种尴尬的操作。另外作为一个工业级的编程语言,Java(及一部分开发框架)在可靠性方面是少有能及的,这一点你PHP再洗也没用。

所以对比一下其实就出来了,PHP脏又快,所以,个人或者小团队快速实现一些原型产品的时候可能会非常的方便,但是随着业务逻辑变复杂,这个优势会逐渐消失。反观Java虽然自由度不高,设计的看起来有些蠢,但是有工业级框架和工具的支撑前期开发上不比PHP差劲,而且能够保证后续的可维护性:至少每个人都能看懂代码。

———

关于程序员,我觉得完全不能按照使用的编程语言来划分,更不应该随便用80%这个数字来随便代表别人。

就像,ssh到Linux这种本身作为基本的ops知识是一个合格的开发人员的必备,而且,自动化工具的存在带给开发人员的好处就是,不用再处理这些脏东西了,把更多的时间留给更好的实现逻辑和提升质量:在源头控制好了问题,就更不会存在ssh到生产环境修bug这种操作了。

以上。
 
 

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/8508527.html

你可能感兴趣的文章
fstab gpt screen
查看>>
如何给Apache Pig自定义UDF函数?
查看>>
IDE、SATA、SCSI、SAS、FC、SSD 硬盘类型
查看>>
HTML模块通信
查看>>
mysql登陆启动报错 ERROR 2002 (HY000) 解决方法
查看>>
LINUX小实验
查看>>
Linux服务器---流量监控webalizer
查看>>
常见Mysql系统参数调整
查看>>
我的友情链接
查看>>
2012年度十大杰出IT博客之 罗升阳
查看>>
慧眼识人?做“博”乐?投票贡献拿大奖!
查看>>
python学习笔记一 介绍、基本语法、流程控制
查看>>
【翻译】Ext JS最新技巧——2016-3-4
查看>>
socket收发超时
查看>>
我的友情链接
查看>>
AHCI和IDE的区别,如何在AHCI模式下安装系统
查看>>
实测 Mysql UUID 性能
查看>>
Linux系统启动流程
查看>>
字体颜色的脚本
查看>>
odoo凭证自动生成问题和如何查明细账?
查看>>