程序员 - php为什么如此流行
现在python的风头很劲,这是一门非常棒的语言,不过在纯web领域还是无法与php相比,而且python的历史比php还要长的多,哥哥赶超弟弟也没什么值得高兴的。那么ruby呢?国内目前似乎掀起了一个学习ruby的小高潮,但它还要经得起时间的考验,而且我们已经等待很久了。
我想说的是,php的发展有一定的客观原因,毕竟在它以前从来没有这么方便的网页脚本语言(请忽略微软的asp,我想说的是开源平台)。于是它出来后,整个web世界好像疯了一样,一夜之间所有的网站都"powered by php"了。但是现在很难有语言能达到这个高度了。
忽略它的客观原因,无数次有人唱衰它,很多初学者在发现它那毫无特色的语法后都放弃它了(很多初学者就是出于想学一种很酷的语言)。但是它现在依然这么流行,很多创业公司靠它走上了发家致富的道路。这样一门语言流行总有它的原因,那么你是怎么看待php的流行的呢?
回复内容:
不管你怎么说php,说它的语法如此混乱,说它不支持完全面向对象,说它如此不优雅等等。你们都无法抹灭它目前在web开发领域头把交椅的地位。我们可以找到那么多看起来比php更加优雅,更加简洁的语言,但是却无法找到一个东西真正能替代它的存在。
现在python的风头很劲,这是一门非常棒的语言,不过在纯web领域还是无法与php相比,而且python的历史比php还要长的多,哥哥赶超弟弟也没什么值得高兴的。那么ruby呢?国内目前似乎掀起了一个学习ruby的小高潮,但它还要经得起时间的考验,而且我们已经等待很久了。
我想说的是,php的发展有一定的客观原因,毕竟在它以前从来没有这么方便的网页脚本语言(请忽略微软的asp,我想说的是开源平台)。于是它出来后,整个web世界好像疯了一样,一夜之间所有的网站都"powered by php"了。但是现在很难有语言能达到这个高度了。
忽略它的客观原因,无数次有人唱衰它,很多初学者在发现它那毫无特色的语法后都放弃它了(很多初学者就是出于想学一种很酷的语言)。但是它现在依然这么流行,很多创业公司靠它走上了发家致富的道路。这样一门语言流行总有它的原因,那么你是怎么看待php的流行的呢?
1. 简单, 扩展方便(成熟的扩展构建框架, 所以有很多扩展库)
2. 类C, 亲*nix
3. 开源
好坑。
我觉得啊,有这么几点。
1. Not fancy, but it just works,用PHP3开始,用PHP都可以作出很好的网站,几乎大家能想到的功能,PHP都可以实现,后来的4,5也没落下。这就跟薛宝钗一样,比起林黛玉来没什么特点,但做老婆真的挺爽的,我觉得如果做一个投票的话,更多的人愿意选薛宝钗做老婆,这也是为什么当你在做一个网站的时候可能有很多个选择,3个人一起做网站,一个说我们用python吧,一个说我最近发现做网站还是RoR快,一个说我是从淘宝出来的,我们都用Java——然后看着大家鄙视的眼神——“不过PHP也行”。最后还是会选PHP。
2. 没什么大毛病,这也是做老婆的很重要的素质。而且这个东西的惯性还是有的。Java说我面向对象,PHP说会我的人多;ROR说我做网站快,PHP说会我的人多;Python说我写起来优雅,PHP说会我的人多;Perl说写我很酷,PHP说会我的人多;这几个语言觉得没什么好聊得了自己各自回家发展去,PHP说你看你看你们小众了吧。
以上两条可以归结为“下得了厨房”,以下几条可以归结为“上得了厅堂”。
3. 受老牌明星C的影响,这一代人其实接触计算机,Unix什么的,在语言方面或多或少受到C的语法和工程模式的影响,而PHP和他比较像,开始的时候很多函数名都一样。会点C的刚开始看看PHP语言的时候,发现居然全能读懂。这样当web流行起来的时候,有这么一门语言和C很类似,但是很适合做web,容易一开始无痛切换。
4. 傍大款,傍上linux、apache、mysql这两个大款,尤其是apache,虽然他们也有很多其它的想好,不过媒体小报们都爱说他们才是真正的爱情,而且居然因此发明了一个新词:LAMP。以后出现在很多简历中。媒体的造势也为PHP的继续流行创造了条件。
5. 生在一个好时代,web开发崛起,后来的人再要搞,发现不学点PHP面试的时候不好弄。再加上同时一些什么类似wordpress之类的流行,又后来Rasmus入了yahoo之后外面觉得全球最大的网站也是PHP写的啊,之类的,慢慢就流行起来了。
总而言之,上得了厅堂,下得了厨房。是PHP目前持续火热的原因。
我觉得PHP流行的原因是,他就是为web而生的。在互联网大行其道的时代,一个为web而生的语言没有理由不流行。
做互联网的,都在说“唯快不破,唯快不破”,而php就是这么一个可以保证你快速实现的利器!漂亮的嵌入HTML,而且又能完成强大的后台逻辑。各种框架和扩展的支持。
其他的语言,论优雅确实要好过PHP,但是论开发效率,论专注,不如PHP。
我更倾向于其中的原因是在于PHP语言本身虽然是开源的,但是背后实际上有zend公司的商业化运作和推广的。 类似 好的论坛系统很多, 包括国外的一些开源论坛程序,但是目前国内最流行的还是discuz
我觉得PHP流行有如下几个原因:
1、历史因素
PHP诞生于1994年,那时ruby还没有诞生,而python并不是为了动态网页编程而生,编写动态网站主要的语言是C(CGI)和Perl,相对两者,PHP在易用性方面有很大的提升,因此PHP在那个时代几乎是没有竞争对手的,越来越多网站的使用,更加速了这种马太效应的显现,使PHP成为动态网页编程的翘楚。
2、语言因素
PHP本身为动态网页编程而生,编写动态网站非常舒服。而且PHP拥有大量的扩展,几乎能满足方方面面的需求,尤其是PECL诞生后,更是将PHP变成了在动态网站编程领域“无所不能”的语言。
后来Zend的介入,对PHP的整体架构方式进行了重新设计,SAPI + PHP Core + Zend Engine的架构体系使得PHP在性能、稳定性和可扩展性方面大大增强,为PHP的进一步流行在技术层面奠定了基石。
3、习惯因素
我们都知道,要将一个网站或系统从一个技术体系迁移到另一个技术体系的代价是很大的,网站越大,代价越大,因此除非遇到不可解决的致命性问题,否则原有的大量PHP系统是不会考虑迁移的。这就促进了PHP人才的需求,跟多的人学习PHP,然后会PHP的人多,跟多的人又用PHP建新的网站,形成一个循环效应。
PHP本身是开源的,有一定技术能力的团队或个人可以对其进行优化和扩展,相比闭源的如.net系技术以及半开源的java系,开发人员更具有掌控性。
4、成本因素
PHP的经典架构,不论是LAMP或LNMP,都是全免费的,这就使得PHP成为很多创业团队的首选。大公司也可以为此降低成本。
综上所述,PHP的流行就不难理解了。虽然在企业级开发领域占有率远不如Java,而在互联网领域近几年也受到python、ruby、lua和nodejs这些后起之秀一定的冲击,不过还是难以撼动PHP在互联网开发领域巨无霸的地位。
PHP 在国外为何流行前面的几位都说过了,我来说说为什么在国内也如此流行的历史原因。
对国内环境而言
许多的 PHP 程序员都是从搭建和使用 Web 应用程序开始,PHP 在国外的流行催生了众多优秀开源程序和免费空间。本世纪初站长是个很时髦的词,搭个网站就是站长了,这个时候符合国情的 Discuz 之流出现了,站长这词走下神坛。
随着这类站点的增多,竞争越来越激烈,网站开始走向差异化,开始对程序进行学习和修改。我想,这个差异的出现为国内 PHP 的流行打上了很深的烙印。
有市场需求,就有 PHP 程序员,PHP 市场的需求越大,PHP 的学习门槛自然持续降低。众多集成开发环境的、详尽的中文开发文档、还有热心的第一代 PHP 程序员为初学者铺平了道路。之后的几年个人站长持续增长,接着 Web 2.0 浪潮兴起,后来的事大家都知道了。
哈,其实这个问题我也小小研究过
其实我认为PHP好处就是快,真的够快!学习简单,开源框架、程序又多,学的人也多,也好招人
....
唱衰PHP的原因我认为有一个也是因为PHP太简单,学的人太多,找工作也简单
比如说企业建站,随便找个CMS套个模板就弄好了,跟熟练工种似的,以至于有些“PHP程序猿”干了很多年,还是只有初级水平。大概一些自学或者钻研新语言的程序猿会比较鄙视这些“不用脑,没有创造力”的“PHP程序猿”吧
以上纯属个人观点,并无鄙视PHP之意,我也一直在用PHP做个人网站,感觉确实很简单很方便,其实不管那种语言用对位置就行,何必太纠结单纯的优劣呢
php在合适的时间做了合适的事情呗
够简单!够高效!够强大!如此足够~
我认为php的流行本质上是动态网页开发的流行
这个跟习惯什么的没太多关系,你看本地脚本有多少会去用php写呢,python还是大多数
而之所以动态网页开发流行导致php的流行,跟php对web的良好支持分不开,又有那一个脚本语言能像php一样直接提供网络环境的各种参数的获取以及各种对网络数据传输的支持?你看rubyonrails里实现php的$_GET或者$_POST都挺费劲。
php天生为了web,在这个网页开发流行的时代,它不想流行都不行
易学, 代表新人能快速融入开发团队;
一堆的框架, 一堆的成熟的产品, 成为快速解决问题的好方案;
开源特性:
1. 免费;
2. 更多人在使用;
3. 代表 bug 可以快速发现并解决, 健壮;
4. 接下来是 2 和 3 的循环
我记得1999年,那时候PHP3还没出(或者是我不知道),最流行的应该是ASP,这种脚本语言超载了当时的CGI,成为最流行的开发语言,后来2000年初我们看到PHP,觉得PHP就是抄ASP的。
看了楼上的答案们,总结出俩字:基因。
一、简单:
1.字符串与数组各种强大的内置函数~
2.优秀的数据结构(关联数组)
3.上手快。。。
二、用的人多。。。
1、屏蔽一些早期自带不开源能力的语言如JAVA
2、asp到处都是漏洞的时代,PHP因为更安全取胜。
3、各种开源CMS 例如wordpress,discuz让人类简单的做出来自己的网站
4、做出来之后就想着弄这个功能 弄那个功能,所以因此在民间火。
5、大公司在用不知原因。