php的前景好不好???
程序员文章站
2022-06-15 17:31:10
...
回复内容:
看到前边这些不认证作答的人,我决定,我得回答一下了。—————————————————————————
- 首先,php的前景目前和不远的我能看到的未来,基本上都是在web开发这里占了几乎所有的市场,全球的web站点八成都是php来动态解析去读mysql呈现出来的,如果没有iphone和安卓的乱入,我可以肯定的说,语言的市场占有率绝对会是第四名,但是被object-c给挤了一名,目前常年第五名的样子,而在网站开发这里,不论是桌面pc的网站还是手机的网站,php还是第一名
- 其次,这里不得不说说php的对手,目前php在和java和python在抢夺市场,java在web开发这里其实是打了败仗的,java目前能登上第一名,全是服务器级别的大数据架构开发还有一个android支撑出了他,当年在sun和现在的甲骨文的努力之下,其实java的性能已经接近于c++的速度了,但是鉴于c++里面坑太多,一般没有功底的程序员用c++简直就是一种痛苦,java在javase和javaee其实算是失败的,很多时候javaee的存在可以说是为了体现项目的逼格,就好比路易威登的存在就是一种逼格一样的,请那些做企业级开发的人不要喷我,相同的项目,用php在时间和成本上面对比javaee不是一个等级的,最后说说python,这个蟒蛇一直是个小众语言,很万精油的语言,而且真的很棒,虽然我喜欢php,但是当我第一次看到python的语法的时候,我真的被震撼到了,而且php作为一个野孩子,一直被人诟病的地方,正是java和python他们拥有的东西,python简洁,简洁到什么程度,十行python做的事情,java得写一百行,如果程序员的工资是按照代码量来算的话,估计python程序员的工资算是最低的了
- 说说php的优点,和他为啥不远的将来还是主流的原因吧,个人观点,不喜勿喷,php一开始出现也就是老雷为了个人主页用perl写的一个小程序,那个年代的网站都是用各种语言来写的cgi,c语言呀c++呀都可以写,但是麻烦的地方就是每次改网站的页面的一个很小的文字,都得去重新编译一下一大堆.c和.h文件,这个时候php出现让大家眼睛一亮,当然94年出现之后,接着就用c重写了php让他可以连接数据库,那个时候java没出现,asp更没出生,所以php凭借着开源,让全球的c程序员瞬间就投入了php的怀抱,那个时代的c程序员可是真心的多,其实后来我也思考过为啥python当时没有火起来,最后发现最重要的是,所有火起来的语言,他的语法都是接近于c语言的,比如java,c++,object-c,c#,php,javascript,都是类c语法语言,php的扩展的类库全是全球的c程序员不断的增加,然后开源,再赶上当年linux和apache,mysql的开源免费,彻底让网站搞得很low,学php的本身就很低,加上这几个东西永久免费,世界上谁不喜欢免费的东西,这个时候有人跳出来说,免费的都不好,那我想反驳一下,我身边好多结婚的,花钱少的甚至不花钱的反而过的很幸福,而且郎才女貌,花钱越多的,那些女的长的很怪很怪,我作为参加了很多婚礼的人想说,结婚生子当乘早,而且先上车,最好不买票,233333
- 最后说说php被人喷的原因吧,免费的蛋糕总是触动了更多人的利益,就比方说西方的福利吧,其实全民医疗在我们这个960w平方可以实现的,但是就是实现不了,因为实现了,会触动非常多的既得利益集团,那么php这个免费的孩子,触动的是谁?肯定是不止是java一类的语言,php触动的反而是甲骨文,微软这样的大公司,因为php的好基友是linux,apache,mysql这几个小兄弟,而且这些年段子手最火的段子就是,php是世界上最好的语言,其实这句话少了两个字,最后的之一给省略了,如果java敢这么说,c++的元老肯定要喷死他的,这个段子的由来,只能证明php火的程序都接上了地气,草根的人,甚至不是程序员,都知道php的存在,说了这么多还没说php的缺点,以前学过javase,所以好羡慕java的eclipse,虽然php也有ide,但是用起来简直不是一个等级的东西,连c#的visual studio都强大的让人惊讶,还有就是php的函数乱七八糟,命名规范太乱,一会大小写,一会下划线,一会驼峰法,一会匈牙利,连参数和返回值都是位置让你琢磨不透,我学了这些年php,我只能惭愧的说,如果离开了ide,我一天不晓得要查多少次手册呢,谁他妈能背的下php这么多没有规律的函数和类,开源的结果就是全球所有的人一起按照各自的规则来写扩展,最后php搞的就像穿着一件打满补丁衣服的乞丐,到处乞讨吃着百家饭,反观java和c#,因为有个有钱的爹,要啥有啥
- 最近在看冰与火之歌第六季,发现没有永恒的敌人和朋友,只有无尽的利益,最近go语言和swift开始渐渐火起来,让我觉得,如果一个公司想让一个语言挂掉,就和一个亲爹把儿子的生活费断掉一样,分分钟要你的命,很多年前我上学的时候就和我同学不断争论,他老是说asp好,我最后说,时间是有推动力的,asp注定是历史的一页而已,几年前又有人说html5没flash好,我只能说,新事物的诞生肯定是因为旧的事物的不完美,而今天我只能说,学语言,要么学个工资最高的,然后你拿着你的时间去换你老板的钱,让你老板购买你的时间,要么你就学个野孩子开放源代码的语言,事实上,开源的总是死不了,因为野孩子在外面早已经历了风吹雨打
发现这么多人来点赞,我就继续说一点
- 现在学语言找工作比较火的比较吃香的,都是和眼下的老百姓使用最多的东西相关的,就是移动端的开发,所以最火的还真的是java和object-c,虽然swift和go出来好几年了,而且随着他们的包越来越多,但是目前他们还是成不了任何气候,然后就是那个c#了,window手机基本上已经失败,学了c#等于您只能做微软桌面级别开发了,随着全球pc销量的逐年降低,而平板和手机游戏还有软件产业不断的崛起,c#终将只能在pc上面占一点点的角落,最后就是python和ruby,非常小众,真的太小众了,如果是个创业的公司,有勇气用这两个语言的,绝对的很有勇气,所以知乎和豆瓣还是比较让我刮目相看的,选择这俩语言,就意味着,程序员不好招啊,招来干活不卖力和你耍脾气呀,哦,还有javascript,html5开发现在越来越火,抛开一些游戏,如果网络情况真心不错的情况下,其实html5的体验还是真的不错的,用html5开发的app有个最大的好处,跨平台,您只需要招一个程序员就做了java和object-c的事情,改版轻松,不需要编译呀,java和object-c如果哪一天被javascript的前端工程师嘲笑的时候,我真的不会惊讶,最后再说说php吧,您们说上面的语言,有谁能有资格来嘲笑php的,其实每个语言,都是自身难保了
- 在移动app开发这里,大部分公司都是选择的php来写接口,也有少数公司用的python,但是不多,因为php程序员容易招,互联网公司离职的情况特别严重,基本上都是靠跳槽来涨工资,所以一个项目有人走了,就得迅速有人来补上,客观的情况不得不让php一直这么红红火火的走下去
继续更新
- 说来说去,其实讨论php好不好,也不是拿php和javascript python一类的语言比较的,而是经常好多人说拿java来和php比较,不过我不得不说,php5版本当时的面向对象部分真的是从java那里抄袭了太多,只要是java程序员转行来php,很快就把php的面向对象摸清楚了,因为php和java比起来,真的是入门简单的语言,少了多线程,而且php程序员里面几乎一半都很少用过socket
- 这个争论呢,是编译语言和解释语言之间的战争,当年也不可能出现解释语言,解释类语言php python javascript的出现是随着硬件的发展才出现的,一开始的电脑当时就几M的内存,用c写程序,还得不断的malloc内存,然后还得去释放,生怕造成一点点的内存泄漏,c里面分配内存都可以做到按照指针地址一个个的分给你,那个时代的程序员,不得不说,水平比现在高,而且从业的素质也很棒,当然那时候的程序员也非常非常少,当年计算机刚刚发明出来的时候,就几个科学家在编程,随着硬件的发展,计算机性能不断的提升,内存和cpu不断的变大变快,然后内存就不显得那么珍贵了,再加上虚拟机的出现和性能的提升,使得解释性语言开始走上历史的一页
- 好多人以为解释型语言就真没有变量类型了,这个真的是不对,没有变量类型的话,怎么分配内存地址多大给你呢,从一个地址读的时候读多长的内存地址?所以答案是php里面的变量竟然全都是c里面的struct结构体,通俗点说struct就相当于c++的class,是个混合数据类型,到了php和java为了让大家能学懂,就忽悠大家说人是人类,猫是猫类,狗是狗类,你是人类的对象,萨摩耶是狗类的对象什么的,我去他大爷的,当年我也这么被忽悠过,以为面向对象就是这个,我也经常听到qq群里面的新人聊天的时候也是这么说,我觉得整个世界都不好了,这个是谁发明的说法,比喻虽然好,但是面向对象完全和人类猫类没半毛钱关系,学一点点c和c++的基础语法,然后去google上面搜索下php内核分析的文章,就能明白了
- 解释型语言被人抠病的地方就是速度速度,性能性能,因为局限于虚拟机,在cpu和内存的利用率上完全没法和编译语言比,但是随着计算机成本的降低,随着移动终端的崛起,又随着网速的增加,人们发现大家一夜之间对应用的需求瞬间增强了,在性能能够满足人们需求的同时,大家要求是开发的速度,开发时间的成本一夜之间让解释型语言的优势瞬间填补了他性能上面那小小的缺陷,就拿php来说,同样的项目用java做,和用php做,最后发现速度的局限竟然在mysql和oracle上面,竟然是硬盘的io速度是短板,然后就开始用redis来缓存数据,提升读的速度,再继续用分布式的架构,服务器端的负载均衡来处理大规模并发问题,所以过去很多gui的桌面软件,都开始有相应的web版本,相信没有任何人不会不喜欢不用安装,只需要浏览器访问一个地址就登陆进去的这种访问方式吧,比如这么多年了,全国所有的人收邮件,基本上都是从浏览器收的,好多软件有桌面版,但是好多人就是喜欢用web版本
- web应用用解释型语言,非常完美,因为web应用喜欢改前台的ui,喜欢改功能,相信很多很多的程序员都恨死产品经理了,如果开发一个站用c语言来printf出来的话,估计每天用gcc编译器都能把键盘的gc两个键给按冒烟,所以过去的几年解释型语言出现了特别多,未来的几年随着硬件的提升,还会继续红火下去,这样下去,难道c++和java就死了?不不不,肯定死不了,因为如果一个项目要求性能的时候,要求计算速度的时候,必须得编译语言来写,比如各大游戏的引擎,操作系统内核,各大桌面gui软件, 服务器,数据库,驱动基本上还是编译语言来实现的,而应用层级别的开发,越来越被php python ruby javascript给蚕食
- =====================================
- 说点php7新特性吧
- php内部的变量实现是struct 内部最小的单元是zval,这个是zendvalue的缩写,这个结构在php7进行了重写,连里面的hashtable都重写了,体积压缩了不少,性能直接提升了2倍,说句心里话,我也是不太喜欢php的,毕竟速度再怎么快,都是比不过c语言的,php的弱类型造就了他必须浪费太多的内存来存取大量的变量类型,在预编译的时候又得花大量的时间来计算,碰上一些经验丰富的php程序员,写出来的代码还算过得去,如果一个新手有时候写出来的php代码,真的是一行写下去,编译器和虚拟机跑的冒烟,抛开c语言,其实看看其他的这么多面向对象的高级语言来说,程序代码的速度,很多都是.程序员自己整出来的,一个新手去写的java代码绝对没有一个老手的php程序员写出来的php代码运行起来更有效率,所以当人们诟病php的时候,更多的也都是因为php的从业者普遍技术水平低
- 这确实是不争的事实,我就遇到很多php程序员,不仅仅连数据结构没学过,更是连c语言都没学过,一问才知道,原来外面的培训班这么厉害,几个月就培训出来一个人出来面试就能上班了,现在貌似搞培训的都喜欢培训php,毕竟入门确实低,连个变量类型都没有,而且变量连声明都不需要,面向对象的部分连多态都没有,php的接口只有在注入的时候才能发现还有点点作用,反观java,接口,抽象类,做的非常规范,java当时我最喜欢的就是他里面的hashtable treetable 真的是好丰富,在php这里,完全就是一个array 内部还全是用hashtable来实现的 而且php的内存规划真的是一团糟 和c++还有java真的没法比,说来说去为啥还是学php呢,因为简单吧,没有java那么复杂,我还是喜欢简单的语言,虽然性能上面确实不如java,更加不如c,特别是跑循环的时候,一下就开出c语言性能上的强劲了
- 不过php7的新语法确实让我看的晕晕的,和以前的语法完全不一样了,特别是larvel框架,里面到处全是新语法,估计larvel这么火,全都是因为新语法的结果,毕竟写出来的代码确实好看,大量的匿名函数和[],以前到处都是array,现在全是方括号
还记得小学的时候学习的小马过河那篇课文吗?
小马过客,问老牛,河水深不深?
老牛说河水很浅,我没有在意就轻松的走过去了;
小马又问松鼠:河水深不深?
松鼠说:深,非常的深,前几天差点把我淹死;
结果小马自己战胜了自己。勇敢的渡过了河,
发现河水既没有老牛说的那么浅,也没有松鼠说的那么深。 世界上最好的语言,怎么不好了! php是世界上最好的语言。。。。。
php进阶QQ群欢迎加入474370592 学好总是有前景的,哪个行业的大牛都是不错的.就看你的发展程度了! 五年前就有人跟我说,PHP要被淘汰掉了。去学JSP或者ASP吧,那才是正途。结果发现几个门户网站没有招JSP的,全是PHP,我就呵呵呵了
上一篇: 刚学面向对象,如何在方法中调用其他方法
下一篇: centos快速安装lamp