Meta昨(28)日公布公司内部项目使用的服务器端项目开发语言指引,声明Hack、C、Python及Rust为建议员工优先使用的语言。
Meta公布的服务器项目开发语言指引,旨在帮助公司工程师和开发人员选择其项目最好的开发语言。Meta软件工程经理Eric Garcia指出,该公司在众多平台和使用场景中使用多种不同开发语言,支持新语言并非简单的决策。一旦决定使用一种语言后往往不太会改变,为确保每种语言都是特定应用场景最适合的,Meta评估相当审慎。
Meta所谓支持某种语言时,是指开发人员在编辑程序代码、调试、开发、部署上资源更充足,也有完整的核心函数库及兼容性。且公司不会叫开发人员改成其他语言。相较之下,使用公司不支持的少数开发语言,工具资源较少,团队必须自己承担维护的责任。Meta表示,多数情况下,建议新项目和服务都要使用公司支持的语言,避免使用公司不支持的。
这4大首要服务器端语言,包括Hack、C、Python和Rust,其中Rust是最新加入的成员。Rust诞生自Mozilla,2021年由Rust基金会接手,现在有许多爱用者。Meta的前身脸书于2016年首先使用Rust开发,2020年Meta内部成立Rust团队,作为对内支持、对社群贡献,也投入推动C和Rust项目的兼容。今年4月Meta也宣布加入Rust基金会。
根据Meta的指引,在重视性能的后端服务上,鼓励使用C和Rust。Meta产品和服务已有越来越多项目使用Rust,该公司表示长期将拥抱Rust。而今年,Meta也添加建议员工在CLI工具上使用Rust。
在商业逻辑及无状态(stateless)应用上,Meta指定自行开发并开源出来的Hack,原因是Hack生态系统自动化程度及内部支持度较高。在数据科学、机器学习应用和Instagram上,Meta建议最受欢迎的Python,也承诺会持续强化Python开发工具的使用体验。
至于特定应用场景(use case),Meta也支持并允许使用其他语言,包括Java、Erlang、Haskell和Go等。但Meta说在特定应用场景以外,就不会广泛支持这些语言。