今天要讲一个关于世界上最好的编程语言PHP和Facebook的关系的爱情故事。爱上PHP能爱上Facebook,主要归功于创始人扎克伯格。小扎,哈佛学生,性格很浮躁,鬼点子很多,喜欢做一些快餐式的Web项目。PHP的特点是开发快,上线快。小扎看了一眼,直接放弃了Java、C#、Python、Perl。他用它开发了很多小项目。随便挑几个来看看吧:CourseMatch(课程匹配):在这个网站上,他们可以选择自己想上的课程。你还可以看到其他人选择了这门课程,当然你也可以通过输入姓名查看其他人上过哪些课程。网站很简单,就是纯文本,但是让小扎没想到的是,很多人都喜欢点进去。该网站部署在他的个人笔记本电脑中。该网站非常受欢迎,访问量巨大,很快笔记本电脑就瘫痪了。Facemash:这个场景是电影《社交网络》里描述的,小扎约会失败,回到公寓,边喝啤酒边写代码。他擅自侵入哈佛各学院的服务器,从通讯录中“窃取”照片上传到自己的网站,并以两人一组的方式展示,让用户评判谁更火辣。凌晨4点,Facemash在哈佛大学像病毒一样传播开来,流量大到IT部门不得不将其与互联网断开连接。Facemash也引发了大量投诉,扎克伯格被哈佛董事会传唤,差点因此被解雇。奥古斯都的罗马是一门课,但扎克伯格忙于编程而无暇上课。他在期末考试快结束时目瞪口呆,考试需要分析奥古斯都统治时期的图片和文物。于是他决定用编程来解决这个问题。他把课程网站上的所有图片都拍下来上传到自己的网站上,供其他同学一起学习。每个人都可以在上面做笔记并查看其他人的笔记。最终,小扎在这门课上拿到了“优秀”的成绩。婚恋这些小网站充分体现了小扎的特点:想法多,喜欢快速实现。PHP虽然会产生脏代码,但没关系,关键是实现快,已经成为小扎最好的利器了。通过CourseMatch,小扎意识到人有一种强烈的想了解身边人的欲望。通过Facemash,他了解到人们喜欢看朋友和熟人的照片,喜欢窥探别人的隐私。通过《奥古斯都的罗马》小扎发现人们乐于分享免费的内容。万事俱备,只差一个引爆点。这时,Winklevoss双胞胎兄弟出现了,让他做一款名为ConnectU的社交产品。小扎一口答应,但一拖再拖,终于推出了自己的社交网站:ThefacebookwithPHP。Thefacebook一开始没有任何内容,其内容需要用户填写。在网站上,用户可以上传自己的照片,写下自己的兴趣爱好、选修课程等等。用户可以通过Poke进行互动,更重要的是可以浏览别人的内容,满足了自己“窥探”的欲望。PHP和Facebook结婚了。在《蜜月》《亮剑》中,赵刚说:一支军队的气质和品格,是由第一任军长决定的。这种观点也适用于企业。肖扎为Facebook打造的风格就是打破常规,快速行动,完成比完美更重要。外界看脸书团队,往往认为他们是黑客。一群人不断地一起尝试,疯狂地迭代。这种风格太适合PHP了。在PHP的帮助下,快速迭代的Facebook迅速冲出哈佛,进入美国所有大学。然后冲出美国,走向世界。2012年,Facebook用户数量达到了惊人的10亿。这里不得不提一下,Facebook当然也想进军中国,但是没有成功。肖扎也迅速从“亲华”形象变成反华急先锋,公然抹黑中国,试图用地缘政治手段“扼杀”竞争。对手TikTok真是闻所未闻,这里暂时不展示,下次再说。Facebook一旦变得有钱有势,就开始厌恶PHP了。他经常讽刺PHP的“动态时刻,重构火葬场”。还拿着各种图片百般羞辱PHP的性能。说用户体验差,需要更多的服务器(也就是说需要在PHP上花更多的钱)等等。还威胁PHP改写!面对指责和威胁,PHP只是一笑了之,因为它知道Facebook规模庞大,内容复杂,再加上配套的生态系统,怎么可能重写整个系统!Facebook别无选择,只能停止PHP。它只能想方设法改进PHP的执行引擎Zend,但并没有得到想要的性能提升。2010年,Facebook痛定思痛,终于发布了一个大招:HipHop,可以将PHP代码转换成高度优化的C++代码,编译后用本地代码执行。转换后,执行效率提升了6倍之多,成绩斐然。但HipHop在性能上难以更上一层楼,无法完全支持PHP特性,如create_function()和eval(),在编译部署方面也难以满足Facebook的快速发展需求.2011年,Facebook干脆搭建了一个PHP虚拟机HipHopVM(HHVM)。HHVM可以将PHP转换成字节码,然后在运行时动态编译成机器码,这一点和JVM很相似。与HHVM一起出现的是一种新的流行语言:Hack语言。Hack相当于PHP的一种方言,但它允许程序员同时使用动态类型和静态类型。这对PHP来说是一个超级打击。PHP哭闹、挂机的时候不工作。毕竟,性能和类型安全对于一个非常大的系统来说非常重要。Facebook的系统逐渐采用了Hack这个新宠,PHP也只好黯然离去。事后,PHP的家人表示不满。他们推出了PHP7,性能大幅提升,逼近Facebook的HHVM。在这种情况下,程序员还是选择PHP。毕竟这是开源社区的产物。看看PHP和Facebook的关系,我们注意到PHP在2000年代初期对初创公司非常有吸引力,因为它总是可以快速开发网站。这时候的PHP可以说是光鲜亮丽了。当网站规模扩大,用户增多时,PHP的缺点就会暴露出来,人们就会厌恶它。好吧,我刚收到我的PHP家人的抗议。他们说这篇文章不客观。从PHP7开始,性能有了很大的提升,已经接近Facebook的HHVM+Hack了,更别说PHP8了……好吧,祝世界上最好的编程语言越来越好!
