{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

PHP的开发效率比java要高,为什么现在java这么流行?

SoarkeySoarkey 回答10 收藏1
问题描述:我是管产品和运营的,产品这边会经常和技术打交道,我发现我原来公司用PHP开发系统,开发效率高,技术人员很少的情况下,都能短时间完成产品这里的需求。但是后面我去了走JAVA这条技术线的公司,就发现技术人员比PHP编制要多很多,但是还很慢,而且出错率非常高。另外,JAVA招人也很慢,薪资待遇也比PHP要高。我就想不明白,为什么很多公司都选择的JAVA,而不走PHP这条线?JAVA和PHP相比优越性有这明显吗?值得公司付出几倍的代价?
收藏问题

10条回答

FreeZinG

FreeZinG

回答于2022-06-22 19:29

首先,你说的PHP比Java开发速度快,这点是在业内达成共识的,Java薪资这块普遍比PHP的高,开发效率反而更慢,这点也是实际情况。那为什么导致这种“倒挂”现象呢?在这里我们具体分析一下两者的特点优劣:

1、开发速度上:

在开发速度上,PHP开发起来比Java要快,所以项目周期也会缩短。因为PHP内置函数库是很强大的,它更适合做“胶水语言”,作为大前端开发语言是很合适的(因为前端逻辑可能会经常变动)。

2、性能上:

在小型项目上,PHP的性能高于Java性能(Java对于服务器硬件要求比PHP要高很多,占更多资源);但在大型项目上,Java的稳定性比PHP要强几个档次,性能上也是。总之PHP更适合只做中小型网站、或者大型网站的前台。

3、安全性上:

PHP在安全性上虽比其它脚本语言高,但如果开发者不留意,还是容易形成很多漏洞,因为PHP本身是弱类型语言,而Java是强类型语言,在安全性上高于PHP。所以一般银行系统都是清一色的Java。


综上,PHP被人评价为“脏而快的语言”,Java则更权威一点。所以在大型项目上,更多的是会选Java而不考虑PHP,PHP只适合做网站型应用。Java在开发速度上较慢,但换来的是稳定性的持续。

评论0 赞同0
  •  加载中...
jsyzchen

jsyzchen

回答于2022-06-22 19:29

什么叫开发效率?

如果指的是相同的功能,实现所需要的代码量,那应该是php高。

但是一个项目的整体效率可不是按照单位时间内写的代码量来衡量的。

一个很重要的指标是工程化。

-java虽然语法啰嗦,但是工程化非常的好。

-又由于结构死板,开发自由发挥度较小,这恰恰能减少代码的裂变。

-加上java的面向对象,可以从语法上切分代码,避免面条代码的产生(相对的)。

结构化的好处是,代码结构相同,后面的开发来接手时能快速上手。或者别人改bug时也能快速定位。

从整个项目来看,可能php项目前期快,后期就慢了。java则反之。不过java可以通过整体结构化,来进行代码生成,提高开发效率。具体请见我的文章

《Web开发框架推导》https://www.toutiao.com/i6527161616234971652/。

评论0 赞同0
  •  加载中...
TIGERB

TIGERB

回答于2022-06-22 19:29

感谢邀约,从我国目前的形式来看,php的招聘岗位确实是越来越少,大公司也是越来越少用php呢?以下是我的观点,仅供参考,欢迎大家指正:


不得不承认PHP的开发效率确实很高

  1. php和MySQL是完美搭配,他们是天生一对,PHP操作MYSQL具有天生的优势。

  2. PHP和Apache、nginx是绝配,完美支持,代码丢在服务器上,很快就能跑起来。

  3. 在数据操作上,我还没看到哪种语言能像PHP那样完美的操作数组,你都无法想象的操作,它都帮你想到了,大大节省了开发时间。

  4. PHP天生就是为WEB而生,全球大部分的网站都是PHP写的,尤其是国外,wordpress像神一般的存在,使用的人越来越多。Web开发相关的,只要你想到的他都有,比如:什么协议相关、请求响应、加密处理、各种流应有尽有。

  5. 社区资源、开源插件相当丰富,总有一款适合你的。

  6. 动态语言、弱类型的灵活度,加上PHP后来增强的类型提示,让你很灵活的使用。

  7. 还有目前我认为很强悍的的PHP框架——Laravel 设计如此之完美和精妙,用上了,估计你就很难再爱上其他的框架了,相关的插件也很多,十分丰富。


对比下PHP和JAVA的主要区别

虽然php有如此多的有点,为啥用不起来呢?这里不谈论JAVA的优点,我们来看看两者主要的区别:

1、语言特点的主要区别

PHP属于弱类型语言,给予程序员的空间太大,语言太灵活,不好约束开发者;

Java属于强类型,语法看似啰嗦,实则非常规范,教条,更容易标准化。

2、就业机会

现在越来越多的公司用JAVA,放弃PHP,造成了市面上JAVA的需求多于PHP。学PHP的人也越来越少。不管是在一线城市,还是在二三线城市,很多项目都要求JAVA,比如政府采购项目。


再从人的角度来分析,不是语言不好,在大型项目上真正会应用的人并不多

个人感觉不是php不行,而是大部分php开发人员都是自学成才,缺乏专业的理论学习,比如数据结构,设计模式、面向对象的思想、单元测试的经验都是欠缺的,市面上针对PHP系统培训的机构又比较少,在编程习惯和开发流程上,由于其语言太灵活太方便,造成了在多人配合时,如果团队缺乏核心主力的情况下,用PHP写出的程序在代码结构、测试、项目人员沟通及代码重用方面都会造成各种问题,很不利大型项目的管理和开发,除了这个方面,真正能够把控PHP项目的人才很难找,能把PHP用好的公司并不多,除此之外学PHP的开发人员也越来越少,不得不说,目前PHP的局面是比较尴尬的。


小节

今天的内容就和大家分享到这里,虽然PHP的效率开发高,但是我们不得不承认效率高,是有代价的,换来的就是在企业级大型项目上的弱势,毕竟现在一个项目是多人完成,很多公司宁愿牺牲效率,换取可持续规范性稳定和安全性。


感谢大家阅读,如果你有什么好的想法欢迎到留言区分享交流,如果你赞同我的回答,欢迎给个赞和转发,谢谢支持。

评论0 赞同0
  •  加载中...
wdzgege

wdzgege

回答于2022-06-22 19:29

请问你是怎么得出效率高这结论的?

Java只是语法上有点啰嗦,但不代表它开发效率比PHP低,特别是各种开源框架加持下,效率也很快的。

一个是编译型语言,一个是脚本式语言,Java的应用场景比PHP大得多,Java可开发客户端、服务端应用,客户端又包含手机端,而PHP主要开发服务端应用,主要是单向网页。

调试上Java能断点调试,PHP还需要依赖输出来调。

同时Java对硬件的调用能力比PHP强很多,在早期版本PHP连推送都很难实现。

此外,编译型语言特点使得Java更容易打包成库分发,再加上开源特性,容易大规模传播,虽说PHP也有包管理,但其开源社区规模也不是可与Java比的。

另外,在职场上的就业机会、程序语言的使用率和热度,Java比PHP大很多,也促使更多人偏向选择Java。

最后在语法上,Java更接近传统编程语言,更容易上手。

综上所述,Java比PHP更受欢迎。

评论0 赞同0
  •  加载中...
姘搁『

姘搁『

回答于2022-06-22 19:29

Java自身生态比较完善,解决各种场景下解决方案都比较成熟,小到单体应用,大到服务拆分,微服务都有成熟的,经过业界考验的方案。

java相对于PHP最大的优势有2点:

性能、安全性


Php和Java的区别:

1. PHP即写即用。代码发生改变,马上就可以看到效果。Java就远没有这么灵活,代码改变后要编译、重启jvm,增加了时间消耗,JVM重启也会造成用户响应中断。

2. Php的看起来思路清晰。字如其义比,echo "hello world"就是输出hello world,而java则不同,你可能是写response,或者在session中,也可能就是返回了该字符串,然后不知道怎么的,它就显示到页面上了。

3. Php代码效率高。Php的高效是显而易见的,你不考虑后期的性能和用户量问题的话,实现一个需求那是很快的,甚至不用框架,直接写也会非常快。一个增删改查功能,三五几十行代码就搞定了。而java就慢多了,首先要想一下用什么框架,目前基本上就是spring了,然后就是配置各种数据库,过滤器,servlet,依赖,决定是用mybatis还是hibernate,然后考虑代码之间的传递、事务管理, 然后不停调试,一改代码可能就是几分钟的等待时间,可想而知。

4. Php占用资源少。php是进程式处理问题的,占用内存相当少,可以说,你在一台机器部署50个项目没有任何问题,只要访问量不上来,搞得定。而java就不行了,java每启动一个项目,本身就得耗尽许多内存,比如在一台8g内存的机器上,一般跑上2个项目就差不多了。

Java:

1 . java组件多。我个人觉得单是这一点就盖过其他所有优点了,因为组件多,意味着用的人多,群众的眼睛是雪亮的。所以,java一定是好的,它已经积淀了太多的东西,不是一门新型语言能够随便替代的。你想要做什么,好好搜索java组件,可能都有你需要的功能,特别对于当下最流行的大数据产业,java更是占据一方。而php在这种场景就有点无能为力了。

2 . java线程池,连接池,异步化方便。其实这一点和第一点也很相似,也是因为组件多,所以要使用线程池连接池都很方便,这对于高并发高性能的场景来说,是绝对必要的。因为java的运行原因就是多线程的,所以不用每次都去初始化很多基本的东西,这省去了太多的时间,也因此大家可以忍受服务器启动的缓慢过程,因为只有一次。而php则是多进程的,每次都需要重新加载所有需要的代码,也因此无法将一些常用数据保存在内存,连接池也不大好做,异步操作更是一个大短板。

3 . java是真正意义上的逻辑清晰。因为,java中,你可以从一个进入可以借助IDE工具分析到最深层次的逻辑操作,对于每个字段,都可以清晰明了,这其实是接口和完全对象的一个使用优点。而php则做不了或者说很少有人费那劲去做这种事情,php可以说是半面向对象半面向过程开发,所以,在调用过程中插入几个自定义的函数调用是很正常的,那么你再想通过简单的IDE去分析调用链就不那么容易了。比如,对于第三方提供的接口,php就很难清楚的看出接口返回了什么,除非你把它打印出来,但是打印出来也不一定对,因为有些返回值的数据不一定有体现。这对于理解代码来说,增加了一个大大的门坎。

4 . 虽说java编译比较烦,但是可以为你提前发现错误。java的编译的确比较耗时,但是如果有明显的错误,编译是不会通过的,这就给你一个重新检查代码的机会。而php则不会,不管你写得多烂,都不会给你提示什么,而许多时候,往往就因为少写了个;分号,导致你排查数小时。

5 . java远程调用方便,rmi,hessian,dubbo。不管怎么样,远程和本地调用都很方便的知道相关的信息,而且java的同语言调用不是采用纯粹的http调用,而且维护一定的连接,从而大大提高性能。而php也有远程调用,但是相对来说就弱许多了。

php和java基本区别是,java是全面性语言(桌面、手机、服务器、控制台、图形界面),php设计是为服务器脚本输出。

高级语言有很多,和Java同样优秀的语言也有很多,它们并没有本质的区别,但是Java的优秀就在于Java到处都是规范,整个JavaEE体系都是规范,在这个规范之下,伟大的轮子就让伟大的程序员去创造,全世界的程序员共同创造了Java无以伦比的生态环境。

评论0 赞同0
  •  加载中...
wslongchen

wslongchen

回答于2022-06-22 19:29

第一,Java 本身知名度高,随便问人,非业内资深人士,有几个知道php 的?并且大学计算机专业的学的编程语言就是java ,这就造成了Java的从业者更多,更具有普遍性。

第二,Java应用范围更广,web,桌面级,人工智能,大数据等等方面都有涉猎且都很成熟主流,php比较局限了,更多的还是web,即便也可以做其他领域,但就很非主流了。

第三,大型公司的应用很重要,大部分大型公司用的主要语言都是Java,原因很多,比如曾经的php 和java 在性能上就不是一个量级,总给人以只能干小活,无法承载做大之后的业务,即便现在迎头赶上,也已经晚了,局面已经形成了嘛。长期形成的观念没那么容易变过来。并且java 有着成熟稳定的大型公司维护,就跟风而言,大公司都用的语言,小公司直接跟风就好了嘛!就像前些年很多小公司都学uclouducloud的狼性文化,在老板的眼里学寓意着也可以成为像那样的大公司[捂脸]。并且java 深耕的更久,从业者众多。更有规模性,比如10位Java从业者离职了,入职新的公司,在一些小公司技术选型的时候,自然的是使用Java,而非他自己也只听过名字的php 。愈少越少的道理。

第四,随着传统互联网行业的衰落,php 这一专注web领域的语言就随着行业的衰落而落寞。一个公司业务未来的也许方向更广,为什么不选择应用场景更广阔的语言呢?

评论0 赞同0
  •  加载中...
546669204

546669204

回答于2022-06-22 19:29

php确实效率比java高出很多,同样的项目php只要7天,而java可能要15天之多,并且同样一个项目的实现,java的报价却要比php更贵。

那为什么公司依然喜欢招java人员?相比php,java有两个非常主要的优势,一个是安全,另一个是性能,20多年的积累,java已经非常稳定安全,不仅有成熟的框架加之优秀的性能,java依然是不二之选。

总结随着公司的发展越做越大,最终都会选择java,因为php适合敏捷开发的创业公司,而实现大项目依然选java。

评论0 赞同0
  •  加载中...
quietin

quietin

回答于2022-06-22 19:29

如果拟人的话,Java是学者,做什么事情都一板一眼的,严谨但是略显啰嗦冗长;PHP是流氓,只要管用就行,用板砖能迅速解决问题的话绝不去拿枪打,用枪要上子弹要瞄准,而且还贵。

语法方面,表达复杂数据结构,Java有好几种,PHP则一招鲜吃遍天——数组。Java变量强类型,PHP类型松散。诸如此类的区别多了,就在开发迭代的效率上体现出差别了。

至于什么Java适合开发大型网站,PHP框架多之类话那都是几年前的梗了,不要在意。

评论0 赞同0
  •  加载中...
Luosunce

Luosunce

回答于2022-06-22 19:29

去了解一下web渗透,php真的很强大,一不留神,一句话木马就可以控制整台服务器。要java去控制难很多。

评论0 赞同0
  •  加载中...
djfml

djfml

回答于2022-06-22 19:29

现在的开发都讲究前后端分离,大前端有vue等的技术,前端的开发速度很快了。Java在springboot的框架下,后台开发所需要的,开发速度,性能,安全,组件完整,每一样都是

优秀的。

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<