PHP程序员小白到大牛集训(12期免息)
首页 >后端开发 >php教程 > 正文

曝一段十多年前的“情史”:PHP和Facebook的感情经历

转载2022-09-20 20:26:30856 + php学习QQ群(点击入群)
今天讲一段情史,是关于世界上最好的编程语言PHP和Facebook的感情经历。

php入门到就业线上直播课:进入学习
API 文档、设计、调试、自动化测试一体化协作工具:点击使用

▲恋爱


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

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

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

课程配对(Course Match):

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

2.jpg

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

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

Facemash:

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

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

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

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

奥古斯都的罗马

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

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

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

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

▲结婚


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

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

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

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

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

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

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

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

3.jpg

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

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

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

PHP和Facebook结婚了。

▲蜜月


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

小扎给Facebook创建的风格就是打破常规,快速行动,完成比完美更重要。

外界看Facebook的团队,经常觉得他们就是黑客,一群人在一起不断尝试,疯狂迭代,这种风格和PHP实在太搭配了。

在PHP的帮助下,快速迭代的Facebook迅速冲出哈佛,进入美国所有大学。

然后冲出美国,走向全世界。

2012年,Facebook的用户数量已经达到惊人的10亿。

这里必须提一下,Facebook当然也想进入中国,只是没有成功,小扎也从“对华友好”的人设,迅速成为反华急先锋,公然抹黑中国,还试图用地缘政治手段“杀死”竞争对手TikTok,真是闻所未闻,此处暂时不表,下次再说。

▲分手


Facebook一旦变得财大气粗,就开始嫌弃PHP了。

他经常讽刺PHP“动态一时爽,重构火葬场”。

还拿着各种图片对PHP的性能进行百般羞辱。

4.jpg

说什么用户体验差,需要更多的服务器(也就意味着需要花更多的钱在PHP身上),等等。

还威胁PHP说要重写!

面对指责和威胁,PHP都是一笑而过,因为它知道,Facebook规模庞大,内容复杂,再加上配套的生态系统,想要重写整个系统,怎么可能嘛!

Facebook没办法,又没法休掉PHP,只能想办法去改进PHP的执行引擎Zend,但是也没有得到想要的性能提升。

2010年,Facebook痛定思痛,终于放了一个大招:HipHop,它可以把PHP代码转换成高度优化的C++代码,编译后以本地代码来执行。

5.jpg

经过转换后,执行效率提升了6倍之多,相当了不起的成就。

但是,HipHop想在性能上更近一步很难了,它也无法完整支持PHP的特性,如create_function() 和 eval(),在编译和部署上也难以满足Facebook快速行动的要求。

2011年,Facebook干脆搞了一个PHP的虚拟机HipHop VM(HHVM),HHVM能把PHP转成字节码,然后在运行时动态编译成机器码执行,这和JVM就很像了。

6.jpg

与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了.....

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

推荐学习:《PHP视频教程

以上就是曝一段十多年前的“情史”:PHP和Facebook的感情经历的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:今日头条,如有侵犯,请联系admin@php.cn删除

  • 相关标签:php
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    后端、前端、测试,同时在线协作,内容实时同步

    支持grpc,http,websocket,socketio,socketjs类型接口调试

    相关文章

    相关视频


    视频教程分类

    专题推荐

    官方公众号

    php中文网课程

    扫码关注官方公众号
    回复“phpcn01”领取php学习资料课程
    全套工具、电子书、脑图、内部课程等

    推荐视频教程

    开通VIP会员课 0元学

    热门推荐