17.7 C
New York
Thursday, September 29, 2022

Programming languages endorsed for server-side use at Meta – Facebook Engineering

– Supporting a programming language at Meta is a very careful and deliberate decision.
– We’re sharing our internal programming language guidance that helps our engineers and developers choose the best language for their projects.
– Rust is the latest addition to Meta’s list of supported server-side languages.
At Meta, we use many different programming languages for a wide variety of platforms and use cases. Supporting a new language is not a decision we make lightly. It’s important that every language we adopt is the best fit for a particular use case, so we do a high level of diligence whenever we evaluate a language. Language decisions tend to stick once they’re made, so we want to be deliberate from the onset to give our engineers the best tools to work with. 
Today, we’re sharing insights into our internal guidance on the various languages that play an important role at Meta — and specifically our server-side programming languages, to which Rust is the latest addition. 
Before we get into the individual details, here’s what supported means (and doesn’t mean) within Meta: 
Meta’s primary supported server-side languages are Hack, C++, Rust, and Python
Let’s explain why we have a supported language list and why we’re generally reluctant to add languages to that list (although Rust is a new addition). The main reason is that it takes a significant engineering investment to support a programming language at Meta scale, and that cost is broadly distributed — not just borne by its users. Some examples: 
Choosing a suboptimal language for a project can be costly in terms of time, efficiency, and productivity. So, it’s worth putting every language we evaluate under a heavy amount of scrutiny. The examples above demonstrate just how much investment we put into supporting a language.
Since we began our journey with Rust, the number of projects using Rust inside Meta has increased at an accelerated rate. We’re excited to see Rust added to this list of server-side supported languages, giving our engineers more tools, flexibility, and support for their work. Meta is committed to provide long-term support for programming languages used by our developer, and this move signals Meta’s long-term commitment and support for the Rust language ecosystem.
Meta believes in building community through open source technology. Explore our latest projects in Artificial Intelligence, Data Infrastructure, Development Tools, Front End, Languages, Platforms, Security, Virtual Reality, and more.
Engineering at Meta is a technical news resource for engineers interested in how we solve large-scale technical challenges at Meta.
To help personalize content, tailor and measure ads, and provide a safer experience, we use cookies. By clicking or navigating the site, you agree to allow our collection of information on and off Facebook through cookies. Learn more, including about available controls: Cookies Policy


Related Articles


Please enter your comment!
Please enter your name here

Latest Articles