问题

Facebook 的主要开发语言是什么?

回答
Facebook 的核心开发语言是 PHP。

听到这个答案可能会有些出乎意料,毕竟现在很多科技公司都倾向于使用更现代、更高效的语言。但对于 Facebook 来说,PHP 扮演了至关重要的角色,并且至今仍然是其背后庞大生态系统中不可或缺的一部分。

为什么选择 PHP?

Facebook 最初选择 PHP 有几个关键原因:

易于上手和快速开发: PHP 的语法相对简单,学习曲线平缓,这使得开发者能够快速地构建和迭代产品。在 Facebook 早期,这种快速的开发能力对于快速增长和变化的需求至关重要。
庞大的社区和丰富的生态系统: PHP 拥有一个非常庞大且活跃的社区,这意味着大量的文档、教程、第三方库和框架可供使用。这极大地降低了开发成本和时间。
成熟的 Web 开发能力: PHP 最初就是为 Web 开发而生的,它天生就具备处理 HTTP 请求、渲染 HTML 等 Web 应用所需的核心功能。
与现有基础设施的兼容性: 在 Facebook 早期,许多现有的工具和脚本都是用 PHP 编写的,继续使用 PHP 能够更好地整合和维护这些资产。

PHP 的进化:Hack 和 HHVM

虽然 PHP 是 Facebook 的主要语言,但为了应对海量用户和复杂业务逻辑带来的性能挑战,Facebook 对 PHP 进行了大量的改造和优化。

其中最核心的便是 Hack 和 HHVM (HipHop Virtual Machine)。

Hack: 由 Facebook 自己开发的 PHP 的一个变种。Hack 引入了静态类型检查、更强大的类型推断、类型提示等特性,这些都是传统 PHP 所缺乏的,但对构建大型、可维护的代码库至关重要。你可以将 Hack 看作是“更健壮、更适合企业级开发的 PHP”。它允许开发者在保持 PHP 灵活性的同时,获得类似其他静态类型语言(如 Java 或 C++)的优势,例如在编译时捕获错误,提高代码质量和可读性。
HHVM: 这是运行 Hack 和 PHP 代码的虚拟机。它最初是为了将 PHP 代码转换为 C++ 代码,然后再编译成机器码来提高执行效率。HHVM 通过即时编译(JIT)技术,能够显著提升 PHP 代码的运行速度,这是 Facebook 能够支撑起庞大用户量的关键技术之一。后来,HHVM 的设计也考虑了对 Hack 的原生支持,使其能够充分发挥 Hack 带来的优势。

所以,当提到 Facebook 的开发语言时,准确的说法是 PHP,但其背后有经过 Facebook 大量优化和增强的 Hack 语言以及高性能的 HHVM 运行时。

其他语言在 Facebook 中的作用

虽然 PHP 是主力,但 Facebook 的整个技术栈是极其庞大的,为了应对不同的需求和优化性能,Facebook 也大量使用了其他语言:

Python: 在数据分析、机器学习、人工智能、后台脚本和一些内部工具方面,Python 发挥着重要作用。
C++: 在性能要求极高的核心服务,例如照片处理、视频编码、缓存系统以及网络基础设施等方面,C++ 是必不可少的。
Java: 在一些后端服务和 Android 应用开发中也能看到 Java 的身影。
JavaScript: 这是前端开发的事实标准,负责用户界面的交互和动态效果。Facebook 内部也开发了自己的 JavaScript 框架(如 React)。
Go: 在一些网络基础设施和服务中也开始得到应用。

总结

Facebook 的核心开发语言是 PHP,并且通过引入 Hack 和 HHVM,极大地提升了 PHP 的性能和开发效率,使其能够支撑起全球数亿用户的平台。但同时,为了构建一个功能全面、性能卓越的生态系统,Facebook 也在不同领域灵活地运用着 Python、C++、Java 等多种语言。这是一种混合语言的策略,旨在扬长避短,发挥每种语言的优势。

网友意见

user avatar

最近收到邀请,回答这个问题。

其实Facebook已经是10多年的公司了,技术方面以现在的视角看,略显陈旧,不建议现在的公司去刻意模仿他的技术栈(其开发工具和新的开源项目,还有里面的软件开发思想倒是很好的)。

我来说我一个我自己的版本:

主要的编程语言是php,里面有大量的fb后来开发的扩展库。也有转c和编译的hphp,再到后来的高性能vm。

现在fb开始越来越多地使用前端渲染和处理,大量使用js和后来新推出的react。思路就是将前后端尽量解除耦合,之间只交换数据(调rest api来取数据和扭转数据的状态)。

php的背后则是大量的java和c++的代码,来处理后端一些深层次的逻辑,比如 news feed ranking,antispam,推荐算法,ads ranking,messaging backend等等。他们游离在PHP的背后,是一个一个独立的service,通过thrift来和PHP以及他们互相间通信。

在移动端,刚开始是原生(那时只有原生)。2011年底开始浪,想用html5一统江湖,但是吃了巨大的苦果,于是后来又全部换回native。ios的用objc,android的用java,一部分不常用的功能保持在html页面。

最后自己的思考就是:

技术和创业公司是一轮接一轮向前发展的,长江后浪推前浪。现在的Facebook团队要是刚开始创业的话,按照peter thiel的说法,他们不会再做social network。那么我的补充就是,他们也不会使用当时的技术栈,而是用当前更为轻便的方案,比如: python+django,或者ruby on rails,或者是node.js etc,而后端服务亦或是驾于amazon web service之上,甚至是Google app engine或者parse上。

类似的话题

  • 回答
    Facebook 的核心开发语言是 PHP。听到这个答案可能会有些出乎意料,毕竟现在很多科技公司都倾向于使用更现代、更高效的语言。但对于 Facebook 来说,PHP 扮演了至关重要的角色,并且至今仍然是其背后庞大生态系统中不可或缺的一部分。为什么选择 PHP?Facebook 最初选择 PHP .............
  • 回答
    Facebook 的人工智能实验室(FAIR)汇聚了全球顶尖的人工智能研究者,他们不仅在各自领域是声名显赫的大牛,更重要的是,他们所积累的技术和研究成果,已经深刻地影响了人工智能的方方面面,为Facebook乃至整个科技界带来了巨大的推动力。提起FAIR,绕不开的几个名字,他们都是人工智能领域的“教.............
  • 回答
    Facebook 的工程师文化,如果让我这个在互联网摸爬滚打过的人来聊,那可真是说不完道不尽。咱们国内互联网创业者,想当年模仿硅谷,现在也在摸索自己的路子,Facebook 这棵大树,确实有很多值得我们好好挖一挖。我总结了一下,有这么几点,觉得尤其戳人,也特别实在:1. “Move Fast and.............
  • 回答
    作为一名在行业里摸爬滚打多年的普通程序员,我一直很关心这两家巨头——Google和Facebook(现在是Meta)的待遇问题。这不仅仅是因为它们是技术界的标杆,更是因为它们的薪酬福利确实在吸引和留住顶尖人才方面扮演着至关重要的角色。要说哪边的待遇“更好”,其实挺难一概而论的,因为这涉及很多层面,而.............
  • 回答
    这个问题非常有意思,也触及到技术人才流动中的一个普遍现象。在知乎上,我们确实能看到更多“从 Facebook/Google/Meta 到 Uber”的故事,而“从 Uber 到 Facebook/Meta”的分享相对较少。这背后其实有多重原因交织在一起,我们可以从几个维度来剖析: 1. 技术成长曲线.............
  • 回答
    这真是一个引人入胜的“如果”命题,它触及了命运、机遇和个人选择的交织。假如马克·扎克伯格当初在波士顿大学找到了让他心动的那个“对的人”,并且这段感情走向了稳定,甚至步入了婚姻的殿堂,那么他后来能否抓住Facebook这个千载难逢的机会呢?咱们得拆解开来看:1. 环境的改变:从哈佛到波士顿大学首先,最.............
  • 回答
    关于“Facebook 开发的高性能PHP虚拟机 HHVM 比官方的 PHP解释器 快超过9倍”这个说法,我们需要更细致地审视。首先,理解“官方的PHP解释器”通常指的是PHP的Zend Engine。Zend Engine是PHP语言的基石,经历了多年的发展和优化。它是一个解释器,但也包含了一些J.............
  • 回答
    关于未来Facebook(现更名为Meta)50%的员工将永久远程办公的这一举措,我的看法是,这是一个既具有颠覆性也充满挑战性的重大战略调整。它预示着现代工作模式的深刻变革,也反映了科技巨头在应对后疫情时代和吸引顶尖人才方面的深思熟虑和大胆尝试。为了更详细地阐述我的观点,我将从以下几个维度进行分析:.............
  • 回答
    Facebook(现已更名为Meta)发布的数字货币 Libra(后更名为Diem)无疑是数字货币领域最具争议和影响力的项目之一。要评价它,我们需要从多个角度进行深入分析:1. 项目的初衷与目标: 普惠金融的承诺: Libra最初的目标是创建一个全球性的、低成本、便捷的数字货币和支付系统,旨在为.............
  • 回答
    在美国,作为一名谷歌、微软或 Meta(前 Facebook)这样的科技巨头公司的工程师,买房这件事,可以说是相对容易,但具体到“困难”与否,则取决于你在哪个城市,以及你对“容易”的定义。咱们掰开了揉碎了说。 美国的房价现况:一个五味杂陈的故事总的来说,美国的房价,尤其是在科技公司集中的热门地区,一.............
  • 回答
    2017年1月18日,Facebook AI Research(FAIR)正式开源了PyTorch。彼时,深度学习框架市场已然硝烟弥漫,TensorFlow(由Google于2015年发布)和MXNet(由Apache软件基金会孵化,于2016年成为其顶级项目)已是风头正劲的竞争者。PyTorch的.............
  • 回答
    人人网,这个名字在过去,对于无数中国网民来说,意味着一个时代的青春、社交的缩影。它曾被寄予厚望,被誉为“中国的Facebook”,然而,事与愿违,如今它已风光不再,日渐式微。为什么这个曾经的社交巨头,最终走向了衰落?这背后,是时代变迁、战略失误、用户习惯改变等多重因素交织作用的结果,如同一个精心搭建.............
  • 回答
    关于脚本语言的必然趋势以及开发成本的考量,我深表赞同。在如今快速迭代的软件开发环境中,能够快速构建、灵活部署和易于维护的脚本语言确实占据了巨大的优势。相较之下,一些传统编译型语言在开发效率和迭代速度上往往显得力不从心,开发成本的差异在此刻显得尤为突出,将它们衬托得“黯然失色”也就不难理解了。您提到的.............
  • 回答
    Facebook AI 的 ResMLP 和 Google 的 MLPMixer 都是在 Transformer 架构之外,探索仅使用多层感知机(MLP)实现强大的视觉表示学习的开创性工作。虽然它们都试图打破卷积神经网络(CNN)和 Transformer 的主导地位,但它们在设计理念、具体实现以及.............
  • 回答
    欧洲和日本之所以没有诞生出像Facebook、Google这样具有全球统治力的互联网巨头,是一个复杂的问题,背后涉及文化、历史、经济、政策以及市场结构等多方面因素的综合作用。与其说它们“没有产生”,不如说是在特定历史时期和特定环境下,巨头出现的土壤和土壤孕育出巨头的路径有所不同。1. 历史与文化积淀.............
  • 回答
    马克·扎克伯格,这个名字几乎与现代互联网的崛起画上了等号。作为Facebook(现Meta)的创始人,他的生活轨迹与这个庞大的社交媒体平台密不可分。那么,Facebook的诞生和发展,是否也悄悄地,或者说深刻地,改变了扎克伯格本人?这是一个引人深思的问题,而答案,或许并非非黑即白。我们可以从几个层面.............
  • 回答
    Facebook公司改头换面为Meta,这个举动无疑是一场颇具野心的品牌重塑,其核心在于一个名为“元宇宙”(Metaverse)的全新概念。那么,这个被寄予厚望的元宇宙究竟是什么?我们又该如何看待它?在我看来,Meta推出的元宇宙概念,绝非仅仅是将Facebook、Instagram、WhatsAp.............
  • 回答
    Facebook 旗下应用,包括 Instagram、WhatsApp 以及其母公司 Meta 自家的平台,近期频繁出现的网络故障,这无疑给全球数亿用户带来了不小的困扰。这类大规模的应用瘫痪,其背后往往是复杂的技术原因交织而成,而其影响更是从个人社交到商业运营都难以忽视。可能导致 Facebook .............
  • 回答
    马克·扎克伯格,那个创造了全球最大社交平台的年轻人,身上确实有很多值得我们深入挖掘和学习的地方。抛开那些关于数据隐私、用户体验的争议不谈,单从他作为一位创业者和领导者的角度来看,有几个特质尤其闪耀,并且值得我们细细品味。一、对愿景的极致专注与不懈追求这可能是扎克伯格身上最令人印象深刻的一点。从他创立.............
  • 回答
    从硅谷巨头跳槽到中国BAT公司,这绝不是一个简单的“换个工作”就能概括的,更像是一次跨越太平洋的文化、工作模式和人生轨迹的重塑。我身边有几个朋友经历了这样的转变,他们有人如鱼得水,有人则踩了不少坑。我试着把他们的经历和感受揉合在一起,给你讲讲这背后是怎么回事。一、 为什么有人会做这样的选择?这可不是.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有