![]() We created a small Rust developer experience team, which dedicates its attention to tooling and integration challenges, such as building the mechanism for using the language’s open source package registry ecosystem in production non-Cargo builds. Given this growth in need, the part-time assistance of the Source Control team wasn’t enough to support the number of teams standing to benefit. In addition, Move, a new, secure programming language to be used for the blockchain, was developed with Rust. The Diem blockchain is primarily written in Rust, covering 94 percent of the open source codebase. Facebook, through its digital wallet Novi, is a member of the Diem Association. But by 2019, the number of Rust developers at Facebook had grown exponentially, to over 100.Īs one significant example of that growth, Rust is the leading language in the development of the Diem (formerly Libra) blockchain, which is overseen by the independent Diem Association. 2019–2020: Some dedicated support for Rustįrom 2017 through 2019, the Source Control team doubled as the unofficial Rust support team within Facebook. As more success stories, such as performance improvements at two to four orders of magnitude, circulated within the company, interest grew in using Rust for back-end service code and exploring its use in mobile apps as well. They appreciated Rust’s combination of high performance with compile-time error detection. Many of the engineers at Facebook who adopted Rust came from Python and Javascript backgrounds. At first, these were typically developer tooling projects that didn’t need to integrate with the broader service infrastructure, or small services/daemons that could do their work with just a few handwritten wrappers around some C++ client libraries. With Mononoke as evidence that it was viable and lived up to its claims, over time, other projects considered and adopted Rust as well. This played out well, and Mononoke has been the production back end for our monorepo since 2019, successfully scaling over the years. The Source Control team was willing and able to support itself in any Rust-specific tooling and infrastructure. As long as Mononoke could use the Mercurial protocol to speak with client services and the Thrift protocol to communicate with some storage systems, choosing Rust wouldn’t affect anything outside of the Source Control team’s work. Mononoke served as a great test bed because it was naturally fairly isolated from other Facebook systems. Jeremy Fitzhardinge, a software engineer in production confidence at Facebook, describes this experience in a talk at RustConf 2019. That’s why the team chose to go with Rust over C++. When corruption or downtime can potentially bring services to a halt, reliability is a top priority. But the Source Control team needed to consider the reliability needs of the source control back end. At the time, Facebook’s back-end codebase was very C++ heavy, meaning Mononoke would have been implemented in C++ by default. In response to this, Facebook’s Source Control team launched a rewrite project called Mononoke with the goal of increasing Mercurial’s commit rate by some additional orders of magnitude to serve Facebook’s thousands of developers and automated processes.ĭeveloping Mononoke in C++ was the obvious choice at first. Our oldest Rust codebase dates to 2016, when the rate of source code changes in Facebook’s monorepo started to encroach on the maximum commit rate that the Mercurial source control management tool could keep up with. And while it’s clear that Facebook is increasingly invested in the future of the language, it’s important to understand how we grew to this point. Today, there are hundreds of developers at Facebook writing millions of lines of Rust code. ![]() Alongside fellow members including Mozilla (the creators of Rust), AWS, Microsoft, and Google, Facebook will be working to sustain and grow the language’s open source ecosystem.įor developers, Rust offers the performance of older languages like C++ with a heavier focus on code safety. ![]() ![]() ![]() In addition to bringing new talent to its Rust team, Facebook has announced that it is officially joining the nonprofit Rust Foundation. Facebook is embracing Rust, one of the most loved and fastest-growing programming languages available today. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |