为什么80%的网站都用PHP写?
来源:疯狗科技 2017-11-09 点击:
在高速发展的时代,个种各样的程序语言不断出现,怎样去辨别他们的使用效果呢?PHP写的网站占所有网站的大概 80%了。这个网站的数据我觉得还是比较信服的。你黑跟不黑,他们都在那儿用php。
PHP流行无外乎:
简单、性能足够好
热部署、易修改
部署方案简单、各种独立的php空间商好找
php官方够给力、性能提升比较大, Facebook出的HHVM更是反映了PHP的兴盛
PHP的极强的兼容性:
PHP的极强的兼容性,这个也是稳定、高效的最好的佐证,PHP5.2到现在的PHP7、hhvm有多少的不兼容么?反观Python Python2跟Python3是裂变,ruby每个版本的兼容性其实很大的,甚至一些gem比如rails之类的 ,兼容性很差的。
Php的灵魂Hash Table很精妙,php的简单我觉得绝大多数构筑在hash table设计精巧上, 用了那么多的语言,php的数组、对象操作真是最简单最得心应手的,这个就是Php hash table的强大了,关于hash table的C实现,可以大概瞅瞅PHP C源代码, //www.php-internals.com/book/?p=chapt03/03-01-02-hashtable-in-php
四大web语言(仅仅web上用的比较多,比较类似的4大语言) PHP跟python、ruby java 我都学过(C#粉勿怪,我是linux脑残粉,只用linux下用的比较广的东西,ms系列的东西我都不看的。)
其中php ruby python算是同类C实现的脚本语言这一类的。java自成一类字节码半编译基于强大JVM的伟大语言。
php、ruby、python比较
在php、ruby、python里面,虽然我觉得python、ruby比较省代码,但我不觉得在web上 python、ruby有机会击败php。不要因为少数开玩笑的、低级的黑PHP就觉得PHP不行了,那些黑PHP的多少黑到点子上去了。
别的我不知道,学校里一些玩儿python的自以为python很厉害,整个php群体比较菜的,这其实是python小众群体的优越感了。真比起来,python在纯web上比不过php跟ruby。
以前十年前大概,挺多初高中生搞ACM、OI 会一点pascal 就那种很优越的经常说,“别跟我提C++,我是写pascal,不懂C++啦”,就是那种自黑狂妄的秀优越的那样说出来的, “不懂C++都拿出来秀优越一样”,真是可笑。
python、ruby的类库比php多一些, 但是在纯web跟web相关这方面,php的成熟类库比ruby、python多的,这就是php为什么现在在web上比python、ruby强。perl的没落也不是没有原因的。1995-1998年大概, lamp就开始提出来,盛行天下。当时很强大的雅虎在内部全部推广php, 最后才引起php的盛世啦。
java跟(php ruby python) 这两大类:
java综合来说,写起来复杂一点,不要跟我扯java敏捷开发(java的敏捷开发是相对于java以往的开发例子的敏捷开发),嵌进去预言的语法是你的一个便捷的框架能改变的么?真想逆天改命呢。
jvm经过sun orcale IBM 等等花重金堆人才、堆技术、堆黑科技,堆出来的超强性能,惊世罕见。已经在很多地方java不比c++ 慢了。
java的一些工业级的强大类库、php ruby python只有看着的份儿,这个是事实,得认。apache基金会下面一票的伟大的java项目: tomcat 、 cassdra、POI 、strust 、lucene、solr、hadoop、hbase、zookeeper 等等。
在web方面, java堆机器、堆集群是可以把一些性能堆上去的,还有一些像站内搜索引擎方面事实标准是solr 、lucence, 这一块基本只能用java。
还有一些复杂的后台任务啊、之类的都用java不断的跑。写到cache、队列里面去,供其他语言调用。
java一个很好的特点就是工程性特别规范特别强、简直是标准的工业级语言。虽然写起来有点点繁琐,但是配合伟大的jetbrains idea 系列IDE的智能提示,基本不麻烦。java的安全性、线程锁、同步啊、Exception等等是别的语言很难达到的。所以淘宝、当当、京东有用到java的,哪一步比如读文件、数据库连接、IO、网络等等所有地方的 异常都可以捕获,万一发生诡异的异常都可以找出来的。其他语言(php ruby python)目前基本没这样的能力的。
所以一些大企业java / c++ + php混用的,其实挺好的。个人觉得“PHP是最好的语言”,这话即使不对,也是最好语言之一。分数越高越好,我把各大语言我认识的 常用的web框架,标出来了。
框架的具体介绍:
大家也可以自己看看自己在用的框架在什么位置
看到没php-raw , 也就是纯php, 在很高的位置。在纯php之上的,除了纯java的servlet-raw, 其他我都不认识。注意php-raw 比 python django flask、ruby rails sinatra、go 、go revel 等等好多都要高,有的还高很多很多。
php的流行,必然有很大的一方面就是性能很强的原因。配合简单、稳定、容易部署。
我还在百度实习的时候,百度用的比较普遍的一个php统一解决方案,核心就是ap框架。可以说 ap框架 约等于 yaf框架。几乎一模一样的。是鸟哥还在百度的时候,他们一起为百度的基础架构写了一个php c语言框架。
AMP组合已经集齐一套完整的带CGI功能,数据库的网页服务器套装,而且相近的技术(JSP/*或者sevrlet*/,ASP)当时出现晚了(PHP2是95年,引入Zend引擎的PHP2是97年,PHP3是98年,JSP是99年,/*sevrlet是97年*/,ASP是96年,//ASP.NET是02年),其实只是最近一些年才发现PHP的语言特征太“粗犷”了,才认为不太适合。(毕竟原设计只是给作者自己更新网页用的)
电脑访问:为什么80%的网站都用PHP写?