Home  >  Article  >  Backend Development  >  为什么用php的人越来越少了?

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

WBOY
WBOYOriginal
2016-06-06 16:44:185749browse

之前听说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出来了,性能提升非常显著。
题主可以关注下。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn