解密:Facebook为什么使用PHP



当日本的计算机科学家松本宏志决定创建一个叫做Ruby的编程语言(它支持Twitter,Hulu和许多其他现代的Web流行网站)时,他从1966年到一部名叫Babel-17的科幻电影就是灵感。这本书的主要内容是关于一种新的语言,允许使用它的人升级他们的头脑。 “Babel-17是对语言的非常准确的分析,几乎要确保任何情况下的技术优势。这部电影的英雄有这样一条线。通过发明Ruby,松本宏希希望实现同样的效果:重组和改进程序员思考的方式。
这个目标听起来很有野心,但他的想法是主流的。软件开发人员作为工作场所,普遍认为编程语言对于思考有影响力,足够大,可以改变你解决问题的方式 - 甚至选择解决问题。这就是他们如何扩大公司规模,改进产品,招聘团队的方式:“你使用什么编程语言?”
明白可以足以让外界了解软件公司的运作,特别是当他们变得如此强大和有利可图时,将产品和服务纳入我们今天生活的每一个角落。 如果你想知道为什么Facebook的外观和工作现在处于这种状态,Facebook将来为我们或为了做我们,你需要知道一些PHP的知识,因为它是马克·扎克伯格(Mark Zuckerberg)更初用于创建Facebook编程 语言。
在程序员中,PHP可能是所有编程语言中更少的“查找”。 博客文章中的一些人将其评为“坏设计”,那些愿意使用PHP的人被视为业余玩家。 Stack Overflow的创始人杰夫·阿特伍德(Jeff Atwood)表示:“这是一个传奇,与Facebook合作的顶尖工程师,他们在Windows XP上编写PHP代码,”他们是黑客们。“在更后10分钟的谈话中,杰夫 使用以下单词语言描述PHP:“一个稀薄的怪物”,“一个大瘟疫”,一个困扰着幽灵的客人。
大多数公认的编程语言具有整体设计理念或组织关键词和语法的指导原则 - 即程序员使用的指令集,并形成逻辑整体。 PHP没有。其设计师Rasmus Lerdorf主动承认他是拼凑的。 “我不知道如何停止,”他在2003年的采访中说,“我不知道如何编写一种编程语言 - 我刚刚添加了一个新的逻辑模块。
程序员更喜欢的例子是PHP函数“mysql_escape_string”,它删除一个混合字符,然后提交数据库。 (混合字符的示例可以参考一般网站将要求您输入电子邮件地址等,黑客可以从网站嵌入一段代码以获取密码。)当发现此功能的漏洞时,出现一个新版本,名为“Mysql_real_escape_string”,但是原来的版本还没有被取代。 结果就好像飞机驾驶舱上有两个特写按钮:一个用于起落架,另一个用于安全地起落架。 这不是一个友好的行动 - 这是灾难的原因。
但是尽管PHP无处不在,但是今天的Web网络大都是基于PHP设计的,整个网络中有39%的网站使用PHP。 Facebook,维基百科和WordPress都是PHP项目。 这是因为PHP有很多缺陷,但是快速入门。 PHP名称来自原始的“个人主页”,使用户可以轻松地在静态HTML页面中添加日期和用户名等动态内容。 PHP从一个网站的设计到一个Web应用程序的编写,但是输入很小,你不需要成为一个专业可以做的。
维基媒体基金会的软件工程师维基百科(Wikipedia)的成功至关重要就像在飞机飞机上靠近飞机的两个按钮一样,与用于放下起落架的那个相同,另一个按钮安全地放下起落架。 这不是一个友好的行动 - 这是灾难的原因。
但是尽管PHP无处不在,但是今天的Web网络大都是基于PHP设计的,整个网络中有39%的网站使用PHP。 Facebook,维基百科和WordPress都是PHP项目。 这是因为PHP有很多缺陷,但是快速入门。 PHP名称来自原始的“个人主页”,使用户可以轻松地在静态HTML页面中添加日期和用户名等动态内容。 PHP从一个网站的设计到一个Web应用程序的编写,但是输入很小,你不需要成为一个专业可以做的。
维基媒体基金会首席软件工程师Ori Livneh表示,PHP“即时运行”功能对维基百科的成功至关重要。 “我一直在讨厌PHP,”他对我说。 维基百科太依赖PHP,导致大规模的设计缺陷。 (这是为什么直到2008年,维基百科推出手机版,直到2013年年编辑界面变得友善。 )但PHP允许那些不是或者几乎只是软件工程师的人可以提交新的功能:这就是为什么维基百科条目可以在古埃及文明页面上显示象形文字,并且可以处理工作人员的原因。
但是,您无法使用Google设计Google,因为Google已成为Google需要做更好的搜索结果。设计Google是一种更加精细和强大的语言,如Java和C ++。而Facebook恰恰相反,更像是一系列的小测试:按钮,信息流,信息模块等等,以引起您的注意。 PHP诞生于快速创造新事物。
你可以想象在哈佛宿舍的扎克伯格完成Facebook的场景。互联网发展如此之快,用户多变,抓住机遇的唯一途径就是快速。他是做泥还是意粉,甚至是好的。他做了事情,人们可以使用它。他没有考虑任何优雅的问题代码;他以为是让朋友可以访问Thefacebook来看他们知道女孩的照片。
今天,Facebook已经值得超过2000亿美元的公司,办公室可以看到无处不在的口号“完成比完美更重要”; “快进,打破常规”。 这是Facebook的“黑客”文化,但也是PHP的价值观。 这是PHP的实质,任何使用这种语言的人都会这么认为。 也许你会说,这是一种编程和维护Facebook文化的编程语言。
2010年底,Facebook迎来了一场危机。 PHP不是性能优化的设计,但现在需要提高性能。 Facebook发展太快,如果没有重大调整,可能似乎是一个问题。
整体更换程序语言不是可选的解决方案:Facebook拥有数百万PHP代码,数千名PHP工程师,超过5亿用户。 Facebook的做法由高级工程师组成小队被分配到一个特殊任务。其中一个是设计一个可以转换Facebook的PHP代码来运行更快的C ++代码的编译器。另一项任务是由一位计算机语言专家完成,他希望Facebook程序员保持PHP风格的文化,但编写更可靠的代码。
所以PHP的一个分支版本诞生了,这个语言是可选的PHP类型的系统。换句话说,您可以使用旧方法快速编写PHP代码,也可以选择让系统类型检查代码的准确性。 Facebook希望他们的程序员用他们熟悉的语言继续前进,但不希望他们像以前那样打破这些事情。 (去年,扎克伯格宣布了一个新的工程师口号:“快速进步,稳定的架构”)
当企业家终于解决收入问题,成为“成熟”时,他们可以智能地利用编程语言的力量来操纵企业组织的文化。 Google已经在编程语言设计师罗生(Guido van RoSsum)认为,一旦软件公司开发出一定的数量,解决混沌状况的唯一方法就是使用一个需要程序员在前台做更多工作的程序。 “感觉好像你放慢了,因为你必须做一切三次。”这就是为什么许多初创公司想要在更换语言之前等待更长时间。你会失去一些一个帮助你启动Niubi黑客的人,也会失去小团队突击新特点的可能性。但更准确的语言将有助于公司的其他人了解彼此的代码并获得产品的稳定性,这是公司每天需要做的。
软件创业公司可以做到这一点,并且可以帮助解释为什么他们如此强大。计算机扩展领域也是如此。这些软件公司也有独特的自我重建能力。随着变革和发展,他们可以做的不仅仅是组织调整,因为它们是基于代码设计,所以要实现更大的变化。他们可以重塑自己,他们的文化,以及他们的想法。



上一页:简洁的网站更有利宣传推广下一页:网站设计公司的案例有何意义?
关注微信
  • 微信
联系电话
  • 13770851495 联系电话
回到顶部