>  기사  >  백엔드 개발  >  为什么用php的人越来越少了?

为什么用php的人越来越少了?

WBOY
WBOY원래의
2016-06-06 16:44:185749검색

之前听说php是最成熟,使用最广泛的后端语言,可是为什么用的人越来越少呢?
为什么用php的人越来越少了?

回复内容:

不想吐槽……
如果按图里的数据
我是不是也可以说:为什么用C、C++、JAVA(14年末期)的人越来越少了?
是不是也可以说:这是因为C、C++、JAVA(14年末)烂?
实名反对 @Coldwings 的答案 。 你才烂呢……

/********************************正式答案*************************************************/
这个图显示的数据,在很明确的告诉我们:
移动互联网的火热 、 物联网的火热 仅此而已
PHP基本上只能用做B/S的WEB应用开发, 而在传统互联网行业 削弱,
移动互联网开发 和 物联网行业兴起 的今天 , 基于C/S架构的语言 当然更受追捧
——没错我说的就是 安卓 和 IOS

原本的程序员 有 100人 , 20个用PHP的 20%
现在的程序员 有 200人 , 30个用PHP的 15%
在这个图上就显得少了,但是PHP的程序员却变多了。OK? 谢邀,邀错人了.我学C++的.纯属旁观者. 首先这张图反映的只是某个编程语言的热门程度。
以下代表个人观点:
php这几年热度下降的原因:
1.存活时间长,在互联网技术日新月异的时代,一些更先进的技术会吸引一部分开发者
2.存活时间长,为了对历史版本作出一定的兼容,函数库的体积增大,一定程度上加大了程序员的负担
3.其他的就是其语言本身的缺陷:$符,函数名等等。
不过我不推荐使用传统的后端技术(php等),为什么?
首先用户体验越来越得到重视,ajax,spa(单页应用),angular等框架之类的相关技术的兴起,都从侧面反映出对前后端分离的一种认可和需要,前后端分离的关键简单说来就是把后端的模板渲染移到了前端,交由客户端进行处理,后端只是负责提供数据,页面通过ajax加载,页面无刷新,而传统的php则需要在后端进行模板的渲染,然后把生成的页面返回给客户端。可以明显看出,这样的分工是不合理的,客户端的工作量都移动了服务器端,假如有较高的并发要求,后端的开销是巨大的,因此前后端分离的概念也随之提出,后端提供一个api接口,接受请求返回数据,客户端拿到数据,渲染模板,分工变得合理了,同时数据的通用性更强了,android,ios等客户端也可以获取数据。可能你会说,php也可以只返回json啊,我想说,这是合不合适的问题,如果是这样,明显是牛刀杀鸡。在最求效率和成本的今天,已经不太合适了。
其次,传统后端语言面临的一个巨大冲击就是js后端的诞生,典型的nodejs就是把v8这个js解释器搬到后端,实现服务器的功能,前后端变得统一了,开发的成本减少。
很明显,我是看好js的,hybird app已经相当成熟了,在android和ios的应用中已经占有一定的比例,加上react native对ios和android的支持,js开发原生应用已经实现并且会越来越成熟。
语言只是一种工具,不应该被语言束缚了我们的思维 谢邀,但我回答不好。题中图上的变化趋势应该是全球的统计结果,不太清楚是怎样方式统计出来的,简单的定性分析一下吧。。。 移动互联网的到来,并没有像之前预测的的那样将来是B/S的天下,至少这个将来还没来,C/S风头正劲,安卓app使用java,ios使用oc或swift,微软的使用c#,这或许是java没有下降的原因,要知道之前java的强项在java web,Google在很大程度上帮了java一把,而c#未来有望进一步提高,这样,java和c#份额提高,自然php会下降,类似于零和游戏。 再者,大数据方面,php绝对是适应不了得,这方面java,python有先天优势。总结,php能干的事情,人家都能干,php不能干的,人家还能干,大家都不能干的,人家有特长。还有就是大家都有提到node出现,跟php争锋,这样php情况就不太妙了。以上只是一些浅显的认识。 可能是因为android和ios近年的火热,导致用java和c大幅增长吧,如果这里边分出一些人数基数给那些android和ios的开发人员数,你所看到的这个数据应该是java和c的大幅下跌。至于那些说哪个语言烂的。。。完全不用理他,如果他的老板让他换语言写程序,不换就滚蛋,我估计他P话没有! 因为烂

————————

貌似这么说太简单粗暴?PHP的烂是多方面因素累积的。

首先语言设计、效率、库的函数名、参数顺序问题,老生常谈了,基本上真正会PHP的都会知道这些方面的问题。当然说hhvm什么的大幅度提高效率,可是别忘了竞争对手同样在进步。在Java8效率直逼C++的今天,PHP的『效率』谈不上高,也就能跟自己比比看了。

其次是定位。PHP小站可以撑起全服务,大站可以承担中间层,这一点是一直以来广大人民群众对PHP的定位。PHP能够抬起头,以往的优势是一来简单,上手快,加上起步早资料多,以及当年的主要竞争对手之一ASP+vbs抱死了Windows,JSP当时还比较惨不忍睹,这才让PHP一枝独秀闯破天的。现在局势不同了,比效率?node完爆PHP,Java也早不是当年的蜗牛Java了;比易学易用?RoR和Python凭着语言设计良好的优势带着一堆包来教做人;比稳定?Java表示PHP也配谈稳定……到现在PHP的优势只在于源码积累多,以及可能的PHP7和hhvm带来的效率改进了。

最后一根稻草则是JS、CSS的普及以及相应的开发模式的改变。老早以前的HTML里JS效率不高,特别是ms系神奇的IE特殊标签以及自家JScript解释器特立独行,带来的结果是网站大都页面代码揉一起。后来人们慢慢地开始觉得拆开来更有利于模板和程序分开设计,这才出现了前后端概念。PHP带着一众框架跟上了模板化的步伐。但是后来人们发现了Ajax的威力,浏览器突然间蹦跶出来个webkit,JS解释器跑出来个V8,新标准一步步确立,人们总算觉得B/S应该像C/S架构那样彻底拆开来了。不到一两年时间,AJAX遍地跑,此时对于小站,模板合成渲染已经可有可无;对于大站,服务器端合成个模板的开销比对接几个请求还要高,PHP开始落后了。

Node的出现不仅仅是在中间层和轻后端占据了一定话语权,更重要的是前端开发者可以在自机搭建完整的开发环境了。前端一独立,前后分离成了必然,大量的请求其事都是静态的页面和js,以及AJAX拉取的数据,前二者跟PHP已经没一毛钱关系了,后者又有各式各样的额外选择而不需要非PHP不可了,偏偏PHP的优势不突出,缺点倒是挺突出……新项目选择PHP的自然会逐渐减少,就连很多老项目也开始转变使用诸如node这样更方便的新技术来重构(例如阿里淘宝酱的强势承载Node层)。

PHP仍然出现在不少超级大站的后端外层,仍然是在做一些模板合成工作,相比之下PHP模板引擎还是比较成熟好用的。但是很明显,web大哥的地位已经摇摇欲坠了。 php从5到7 耗时太长了,也是导致这情况的原因之一。再就是移动互联网的兴起,让后端开发重心转移到API,而非嵌入式网站页面开发。很多公司都选择java来做服务端了。不过我想说的是PHP是为敏捷开发而生的语言,如果想让项目有个安稳迅捷的开始,那么就选择PHP吧。 这是所有方向的, 并不光是web编程
其实有很多大工程, 比如PS, Mathematics, 各种IDE, 还有经济金融那些系统工具(具体非我所能知者也), 都是纯客户端(C)的, 现在慢慢的演进成了客户端-服务端(C/S)结构, 也就是所谓的云服务, 有一部分沾了Web的边, 另外的就是BS架构的网站了, 纯Web. 另外, 作为对BS架构的支撑, 比如各种HTTP服务器, 数据库, 容器, VPS等等, 和Web编程语言并没有啥关系
C是用来写其它各种高级语言/驱动/系统的语言
C++是用来写各种客户端/计算模块的语言
C/C++都可以写Web后端, 曾经也可以写前端模板(我厂曾经这样干过, 后来成本太高放弃了)
Java什么都做: 安卓, Web后端, 前端(JSP), 客户端...

所以拿纯做Web的PHP来和这些语言比显然不公平!

比例下降我觉得有两个原因:
  • js(node)兴起, 占了一部分php的市场
  • 码农总量增加了, 但是写Web后端的码农并没有增加, 或者比例不一一致

java一直能保持这么高, 我觉得并不是它在web方向上压倒了PHP, 而是安卓的兴起保住了它的地位, 不然你咋解释C++也掉这么厉害呢

所以C才是王道, 无可替代, 长盛不衰! 无聊。。。。 php7出来了,性能提升非常显著。
题主可以关注下。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.