世界上最好的编程语言PHP和Facebook的感情经历

开发 前端
《亮剑》中赵刚说:一个军队的气质和性格是首任军事长官决定的。这个观点用到公司上也是合适的 。小扎给Facebook创建的风格就是打破常规,快速行动,完成比完美更重要。

今天讲一段情史,是关于世界上最好的编程语言PHP和Facebook的感情经历。

恋爱

PHP能和Facebook谈恋爱,主要归功于创始人扎克伯格。

小扎这个哈佛的学生,很不安分,鬼点子很多,很喜欢整一些快餐式的Web项目。

而PHP的特点就是快速开发、快速上线,被小扎一眼相中,直接抛弃了Java,C#,Python,Perl,用它开发了好多小项目,随便挑几个大家看看:

课程配对(Course Match):

在这个网站上,可以选出他们想上的课程。也可以看到其他选择了这门课程的人,当然也可以通过输入人名查看别人上了什么课。

网站非常简陋,就是纯文本,但是让小扎惊奇的是,很多人喜欢在上面点来点去。

网站部署在他的个人笔记本中,网站很受欢迎,访问量巨大,很快笔记本就瘫痪了。

Facemash:

电影《社交网络》中描述了这一幕,小扎约会失败,回到公寓,一边喝啤酒一边写代码。

他未经许可,入侵哈佛各个学院的服务器,从通讯录上把照片“偷”下来,上传到自己的网站上,两个一组显示,让用户去评比谁更Hot。

凌晨4点,Facemash在哈佛大学像病毒一样迅猛传播,流量之大,IT部门不得不给它断网。

Facemash也引发了大量投诉,扎克伯格被哈佛的管理委员会传唤,差点儿因此被开除。

奥古斯都的罗马

这是一门课,但是扎克伯格忙于编程,根本没上。

快到期末考试时他傻眼了,考试要求奥古斯都统治时期的图片和工艺品进行分析。

于是他决定用编程来解决问题,他把这门课网站上所有图片都扒下来,传到自己网站,让其他同学一起学习,大家可以在上面记笔记,查看别人的笔记。

最后,小扎这门课得了一个“优”。

结婚

这些小网站充分体现了小扎的特点:想法很多,并且喜欢快速实现。

PHP虽然会产生脏代码,但这都不重要,关键是快速实现,它成了小扎的最佳工具。

通过Course Match,让小扎认识到人们有强烈的渴望去了解周围的人。

通过Facemash,他知道了人们很喜欢看朋友和熟人的图片,喜欢窥探别人的隐私。

通过《奥古斯都的罗马》小扎意识到:人们乐意共享免费的内容。

一切准备停当,只差一个引爆点。

这时候双胞胎温克莱沃斯兄弟出现了,让他做一个叫做ConnectU的社交产品。

小扎满口答应,但是却不断拖延,最终用PHP推出了自己的社交网站:Thefacebook。

Thefacebook一开始并没有任何内容,它的内容需要用户去填充。

在网站上用户可以上传自己的图片,写下自己的兴趣爱好,选修的课程等等。

用户之间可以通过Poke的方式做简单的互动,更重要的是可以浏览其他人的内容,满足了一个人的“窥探”欲望。

PHP和Facebook结婚了。

蜜月

《亮剑》中赵刚说:一个军队的气质和性格是首任军事长官决定的。这个观点用到公司上也是合适的 。

小扎给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的虚拟机HipHop VM(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了.....

好吧,祝愿世界上最好的编程语言越来越好!

责任编辑:武晓燕 来源: 码农翻身
相关推荐

2018-12-04 15:46:53

编程语言Python

2018-07-19 19:07:33

语言编程语言程序

2019-11-18 15:07:54

编程语言C#

2013-09-12 15:39:30

编程语言BANCStar

2020-11-16 09:38:08

编程语言EmojiEmojicode

2015-08-11 09:18:44

程序员最好

2013-09-16 11:12:51

编程环境开发

2011-05-24 10:25:21

2011-07-04 09:03:39

Web模版

2017-04-05 08:41:49

2010-07-15 16:21:22

编程语言

2023-02-28 08:59:47

PythonJavaJavaScript

2015-04-08 10:46:11

2018-11-06 12:22:18

排序算法代码

2015-09-14 15:36:27

PHP爬虫语言

2020-06-08 10:21:56

操作系统C语言Unix

2015-08-04 09:25:53

爬虫PHP语言

2023-10-08 09:38:06

2017-01-10 09:48:58

PHP语言Perl

2017-12-13 20:30:04

开发PHP开源
点赞
收藏

51CTO技术栈公众号